Detecting Floating-Point Expression Errors Based Improved PSO Algorithm

被引:0
|
作者
Yang, Hongru [1 ]
Xu, Jinchen [1 ]
Hao, Jiangwei [1 ]
Zhang, Zuoyan [1 ]
Zhou, Bei [1 ]
机构
[1] Informat Engn Univ, 62 Sci Ave, Zhengzhou 450001, Henan, Peoples R China
关键词
OPTIMIZATION; ACCURACY;
D O I
10.1049/2023/6681267
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The use of floating-point numbers inevitably leads to inaccurate results and, in certain cases, significant program failures. Detecting floating-point errors is critical to ensuring that floating-point programs outputs are proper. However, due to the sparsity of floating-point errors, only a limited number of inputs can cause significant floating-point errors, and determining how to detect these inputs and to selecting the appropriate search technique is critical to detecting significant errors. This paper proposes characteristic particle swarm optimization (CPSO) algorithm based on particle swarm optimization (PSO) algorithm. The floating-point expression error detection tool PSOED is implemented, which can detect significant errors in floating-point arithmetic expressions and provide corresponding input. The method presented in this paper is based on two insights: (1) treating floating-point error detection as a search problem and selecting reliable heuristic search strategies to solve the problem; (2) fully utilizing the error distribution laws of expressions and the distribution characteristics of floating-point numbers to guide the search space generation and improve the search efficiency. This paper selects 28 expressions from the FPBench standard set as test cases, uses PSOED to detect the maximum error of the expressions, and compares them to the current dynamic error detection tools S3FP and Herbie. PSOED detects the maximum error 100% better than S3FP, 68% better than Herbie, and 14% equivalent to Herbie. The results of the experiments indicate that PSOED can detect significant floating-point expression errors.
引用
收藏
页数:16
相关论文
共 50 条
  • [1] Floating-point errors in complex Cholesky algorithm
    Singer, S
    Singer, S
    NUMERICAL METHODS AND ERROR BOUNDS, 1996, 89 : 249 - 254
  • [2] Detecting Floating-Point Errors via Atomic Conditions
    Zou, Daming
    Zeng, Muhan
    Xiong, Yingfei
    Fu, Zhoulai
    Zhang, Lu
    Su, Zhendong
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2020, 4 (POPL):
  • [3] FPCC: Detecting Floating-Point Errors via Chain Conditions
    Yi, Xin
    Yu, Hengbiao
    Chen, Liqian
    Mao, Xiaoguang
    Wang, Ji
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (OOPSLA):
  • [4] Detecting High Floating-Point Errors via Ranking Analysis
    Wang, Zheng
    Yi, Xin
    Yu, Hengbiao
    Yin, Banghu
    2022 29TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, APSEC, 2022, : 397 - 406
  • [5] A Genetic Algorithm for Detecting Significant Floating-Point Inaccuracies
    Zou, Daming
    Wang, Ran
    Xiong, Yingfei
    Zhang, Lu
    Su, Zhendong
    Mei, Hong
    2015 IEEE/ACM 37TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, VOL 1, 2015, : 529 - 539
  • [6] QUANTIZATION ERRORS IN FLOATING-POINT ARITHMETIC
    SRIPAD, AB
    SNYDER, DL
    IEEE TRANSACTIONS ON ACOUSTICS SPEECH AND SIGNAL PROCESSING, 1978, 26 (05): : 456 - 463
  • [7] DISTRIBUTION OF ERRORS IN FLOATING-POINT MULTIPLICATION
    LEE, G
    SIAM REVIEW, 1968, 10 (02) : 252 - &
  • [8] Detecting and Fixing Precision-Specific Operations for Measuring Floating-Point Errors
    Wang, Ran
    Zou, Daming
    He, Xinrui
    Xiong, Yingfei
    Zhang, Lu
    Huang, Gang
    FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2016, : 619 - 630
  • [9] Is Your Model Susceptible to Floating-Point Errors?
    Izquierdo, Luis R.
    Polhill, J. Gary
    JASSS-THE JOURNAL OF ARTIFICIAL SOCIETIES AND SOCIAL SIMULATION, 2006, 9 (04):
  • [10] LOCAL ROUNDOFF ERRORS IN FLOATING-POINT ARITHMETIC
    KANEKO, T
    LIU, B
    JOURNAL OF THE ACM, 1973, 20 (03) : 391 - 398