Detecting High Floating-Point Errors via Ranking Analysis

Zheng Wang, Xin Yi, Hengbiao Yu, Banghu Yin · 2022

F1oating-point numbers use limited precision to represent real numbers and have rounding errors, so floating-point calculations are inherently inaccurate. Revealing high floating-point errors is critical to software safety. Recently, two representative testing approaches, DEMC and ATOMU, have been proposed to find inputs triggering high floating-point errors in numerical programs. However, DEMC does not process the entire input domain and suffers from the high search cost, while ATOMU may get trapped in a local maximum. In this paper, we propose a novel approach that combines ranking analysis and search algorithms to detect high floating-point errors in numerical programs. The key idea is to use ranking analysis over the input domain to reduce search space quickly, and exploit search algorithms to find the inputs that may trigger high floating-point errors. We have implemented our approach and evaluated it on 88 numerical programs in GNU Numerical Library(GSL). The experimental results demonstrate our approach can find more high floating-point errors compare to ATOMU and DEMC. Moreover, our approach achieves 14× and 4× improvement in detecting higher floating-point errors compare to ATOMU and DEMC, respectively. As a black-box method, RADE achieves a 5. 25× speedup compared to DEMC which is the state-of-the-art black-box method.

Read the paper · More papers on PaperTik