Detecting floating-point errors via atomic conditions
Daming Zou, Muhan Zeng, Yingfei Xiong, Zhoulai Fu, Lu Zhang, Zhendong Su
摘要
This paper tackles the important, difficult problem of detecting program inputs that trigger large floating-point errors in numerical code. It introduces a novel, principled dynamic analysis that leverages the mathematically rigorously analyzed condition numbers for atomic numerical operations, which we call atomic conditions, to effectively guide the search for large floating-point errors. Compared with existing approaches, our work based on atomic conditions has several distinctive benefits: (1) it does not rely on high-precision implementations to act as approximate oracles, which are difficult to obtain in general and computationally costly; and (2) atomic conditions provide accurate, modular search guidance. These benefits in combination lead to a highly effective approach that detects more significant errors in real-world code (e.g., widely-used numerical library functions) and achieves several orders of speedups over the state-of-the-art, thus making error analysis significantly more practical. We expect the methodology and principles behind our approach to benefit other floating-point program analysis tasks such as debugging, repair and synthesis. To facilitate the reproduction of our work, we have made our implementation, evaluation data and results publicly available on GitHub at https://github.com/FP-Analysis/atomic-condition.
CCS Concepts: • Software and its engineering → General programming languages; Software testing and debugging.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper12
- Parallel shadow execution to accelerate the debugging of numerical errorsSangeeta Chowdhary, Santosh NagarakatteFSE 2021 · 被引用 21 次
- An approach to generate correctly rounded math libraries for new floating point variantsJay P. Lim, Mridul Aanjaneya, John L. Gustafson, Santosh NagarakattePOPL 2021 · 被引用 21 次
- High performance correctly rounded math libraries for 32-bit floating point representationsJay P. Lim, Santosh NagarakattePLDI 2021 · 被引用 19 次
- One polynomial approximation to produce correctly rounded results of an elementary function for multiple representations and rounding modesJay P. Lim, Santosh NagarakattePOPL 2022 · 被引用 15 次
- Fast shadow execution for debugging numerical errors using error free transformationsSangeeta Chowdhary, Santosh NagarakatteOOPSLA 2022 · 被引用 13 次
相关 Paper
- Oracle-free repair synthesis for floating-point programsDaming Zou, Yuchen Gu, Yuanfeng Shi, Mingzhe Wang 等OOPSLA 2022 · 被引用 9 次
- Mathematically-Guided Detection of Floating-Point ErrorsYoushuai Tan, Zhanwei Zhang, Haonan Zhang, Lianyu Zheng 等ISSTA 2026
- FPCC: Detecting Floating-Point Errors via Chain ConditionsXin Yi, Hengbiao Yu, Liqian Chen, Xiaoguang Mao 等OOPSLA 2024 · 被引用 7 次
- Floating-Point Usage on GitHub: A Large-Scale Study of Statically Typed LanguagesAndrea Gilot, Tobias Wrigstad, Eva DarulovaOOPSLA 2026 · 被引用 1 次
- Efficient generation of error-inducing floating-point inputs via symbolic executionHui Guo, Cindy Rubio-GonzálezICSE 2020 · 被引用 27 次
