一句话:提出 Eiffel,用采样聚类与多项式外推推断浮点错误的输入范围,提升误差分析适用性。
现有用于查找导致显著浮点误差的输入值或覆盖这些值的小范围的搜索启发式方法限制较多,难以实现且通用性受限。本文提出误差分析工具 Eiffel,将目标从“搜索”转为“推断”错误诱发输入范围。给定浮点表达式及其定义域 D,Eiffel 先在较小域 R 上采样构造误差数据集并聚类;若形成两个以上聚类,则拟合 R 中错误诱发范围边界坐标的多项式曲线,并外推到 D 以推断所有目标范围并报告最大误差;否则直接返回 R 上的最大误差。实验表明,Eiffel 在全部 70 个基准上均检测到误差,适用性优于 Atomu 和 S³ FP,二者仅能报告部分基准的误差。将 Eiffel 推断的范围输入 Herbie 后,平均精度提升 3.35 比特,最高提升 53.3 比特。
Existing search heuristics used to find input values that result in significant floating-point (FP) errors or small ranges that cover them are accompanied by severe constraints, complicating their implementation and restricting their general applicability. This paper introduces an error analysis tool called Eiffel to infer error-inducing input ranges instead of searching them. Given an FP expression with its domain $\mathcal{D}$, Eiffel first constructs an error data set by sampling values across a smaller domain $\mathcal{R}$ and assembles these data into clusters. If more than two clusters are formed, Eiffel derives polynomial curves that best fit the bound coordinates of the error-inducing ranges in $\mathcal{R}$, extrapolating them to infer all target ranges of $\mathcal{D}$ and reporting the maximal error. Otherwise, Eiffel simply returns the largest error across $\mathcal{R}$. Experimental results show that Eiffel exhibits a broader applicability than Atomu and $\mathbf{S}^{3}$ FP by successfully detecting the errors of all 70 considered benchmarks while the two baselines only report errors for part of them. By taking as input the inferred ranges of Eiffel, Herbie obtains an average accuracy improvement of 3.35 bits and up to 53.3 bits.
@inproceedings{ZhangZHYCZSLXZ23,
title = {Eiffel: Inferring Input Ranges of Significant Floating-point Errors via Polynomial Extrapolation},
author = {Zuoyan Zhang and Bei Zhou and Jiangwei Hao and Hongru Yang and Mengqi Cui and Yuchang Zhou and Guanghui Song and Fei Li and Jinchen Xu and Jie Zhao},
booktitle = {ASE},
year = {2023},
doi = {10.1109/ase56229.2023.00139}
}