FPCC: Detecting Floating-Point Errors via Chain Conditions

被引:0
|
作者
Yi, Xin [1 ]
Yu, Hengbiao [1 ]
Chen, Liqian [2 ]
Mao, Xiaoguang [2 ]
Wang, Ji [2 ]
机构
[1] Natl Univ Def Technol, Coll Comp, Changsha, Peoples R China
[2] Natl Univ Def Technol, Coll Comp, State Key Lab Complex & Crit Software Environm, Changsha, Peoples R China
来源
基金
国家重点研发计划; 中国国家自然科学基金;
关键词
chain condition; floating-point error; error-triggering input; accuracy;
D O I
10.1145/3689764
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Floating-point arithmetic is notorious for its rounding errors, which can propagate and accumulate, leading to unacceptable results. Detecting inputs that can trigger significant floating-point errors is crucial for enhancing the reliability of numerical programs. Existing methods for generating error-triggering inputs often rely on costly shadow executions that involve high-precision computations or suffer from false positives. This paper introduces chain conditions to capture the propagation and accumulation of floating-point errors, using them to guide the search for error-triggering inputs. We have implemented a tool named FPCC and evaluated it on 88 functions from the GNU Scientific Library, as well as 21 functions with multiple inputs from previous research. The experimental results demonstrate the effectiveness and efficiency of our approach: (1) FPCC achieves 100% accuracy in detecting significant errors for the reported rank-1 inputs, while 72.69% rank-1 inputs from the state-of-the-art tool ATOMU can trigger significant errors. Overall, 99.64% (1049/1053) of the inputs reported by FPCC can trigger significant errors, whereas only 19.45% (141/723) of the inputs reported by ATOMU can trigger significant errors; (2) FPCC exhibits a 2.17x speedup over ATOMU in detecting significant errors; (3) FPCC also excels in supporting functions with multiple inputs, outperforming the state-of-the-art technique. To facilitate further research in the community, we have made FPCC available on GitHub at https://github.com/DataReportRe/FPCC.
引用
收藏
页数:28
相关论文
共 50 条
  • [1] 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):
  • [2] 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
  • [3] Detecting Floating-Point Expression Errors Based Improved PSO Algorithm
    Yang, Hongru
    Xu, Jinchen
    Hao, Jiangwei
    Zhang, Zuoyan
    Zhou, Bei
    IET SOFTWARE, 2023, 2023 (01)
  • [4] QUANTIZATION ERRORS IN FLOATING-POINT ARITHMETIC
    SRIPAD, AB
    SNYDER, DL
    IEEE TRANSACTIONS ON ACOUSTICS SPEECH AND SIGNAL PROCESSING, 1978, 26 (05): : 456 - 463
  • [5] DISTRIBUTION OF ERRORS IN FLOATING-POINT MULTIPLICATION
    LEE, G
    SIAM REVIEW, 1968, 10 (02) : 252 - &
  • [6] 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
  • [7] Floating-point errors in complex Cholesky algorithm
    Singer, S
    Singer, S
    NUMERICAL METHODS AND ERROR BOUNDS, 1996, 89 : 249 - 254
  • [8] 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):
  • [9] LOCAL ROUNDOFF ERRORS IN FLOATING-POINT ARITHMETIC
    KANEKO, T
    LIU, B
    JOURNAL OF THE ACM, 1973, 20 (03) : 391 - 398
  • [10] Invertibility Conditions for Floating-Point Formulas
    Brain, Martin
    Niemetz, Aina
    Preiner, Mathias
    Reynolds, Andrew
    Barrett, Clark
    Tinelli, Cesare
    COMPUTER AIDED VERIFICATION, CAV 2019, PT II, 2019, 11562 : 116 - 136