paperbot · PL 论文追踪

全部论文 待读 收藏

P0 Detecting floating-point errors via atomic conditions

通过原子条件检测浮点误差
POPL 4(POPL)2019匹配度 9/10 · 该论文直接聚焦浮点程序分析,提出基于原子条件数的动态分析来检测触发大浮点误差的输入,兼具理论形式化、工程实现和真实数值库评测,与用户研究方向中的浮点程序分析核心高度一致;仅未涉及与LLM/Agent的交叉。引用 44 inbox
Daming Zou, Muhan Zeng, Yingfei Xiong, Zhoulai Fu, Lu Zhang, Zhendong Su
crossref: 2026-09-10

AI 速览

一句话:提出基于原子条件数的动态分析,高效搜索触发大浮点误差的程序输入。

浮点数值代码中,某些输入会引发严重浮点误差,检测这类输入既重要又困难。本文提出一种有原则的动态分析,利用对原子数值运算的条件数(称为原子条件)进行严格数学分析,并以此指导大误差输入的搜索。与已有方法不同,该方法无需以高精度实现作为近似 oracle,且原子条件可提供准确、模块化的搜索指导。两者结合使其在真实代码(如常用数值库函数)中发现更多显著误差,并较当前最优方法获得数个数量级的加速,显著提升浮点误差分析的实用性。作者公开了实现与评估数据以支持复现。

问题
如何自动检测数值代码中会触发大浮点误差的程序输入。
方法
提出基于原子条件数的动态分析,用严格分析过的条件数指导搜索,避免依赖高精度 oracle。
评估
在真实数值库函数上评估,发现更多显著误差,并较当前最优方法加速数个数量级,实现和评估数据已公开。
原文摘要(Abstract)

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 <a>https://github.com/FP-Analysis/atomic-condition</a>.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot549,
  title = {Detecting floating-point errors via atomic conditions},
  author = {Daming Zou and Muhan Zeng and Yingfei Xiong and Zhoulai Fu and Lu Zhang and Zhendong Su},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {POPL},
  year = {2019},
  doi = {10.1145/3371128}
}