[论文解读] Filtering Floating-Point Constraints by Maximum ULP.
本文通过将基于最大ULP(最低有效位单位)的技术推广至更广泛的场景,提出了一套高效的IEEE 754二进制浮点数约束过滤算法,以改进安全关键系统中的浮点数验证。该方法实现了对浮点数运算的精确符号推理,显著提升了复杂路径的测试数据生成效率。
Floating-point computations are quickly finding their way in the design of safetyand mission-critical systems, despite the fact that designing correct floating-point algorithms is significantly more difficult than designing correct integer algorithms. For this reason, verification and validation of floating-point computations is a hot research topic. An important verification technique, especially in some industrial sectors, is testing. However, generating test data for floating-point intensive programs proved to be a challenging problem. Existing approaches usually resort to random or search-based test data generation, but without symbolic reasoning it is almost impossible to generate test inputs that execute complex paths controlled by floating-point computations. Moreover, as constraint solvers over the reals or the rationals do not handle the rounding errors, the need arises for efficient constraint solvers over floating-point domains. In this paper, we present and fully justify improved algorithms for the filtering of arithmetic IEEE 754 binary floating-point constraints. The key point of these algorithms is a generalization of an idea by B. Marre and C. Michel that exploits a property of the representation of floating-point numbers.
研究动机与目标
- 解决为浮点数密集型程序生成有效测试输入的挑战,特别是针对具有复杂控制路径的程序。
- 通过在浮点数运算中集成符号推理,克服现有随机或搜索式测试生成方法的局限性。
- 开发能够准确建模浮点数舍入误差的约束求解器,而传统求解器在实数或有理数域上无法捕捉此类误差。
- 提升浮点数约束过滤的效率与精度,以支持工业应用中的自动化验证。
提出的方法
- 将Marre和Michel提出的最大ULP原则推广至处理任意浮点数约束,而不仅限于等式约束。
- 利用基于ULP的浮点数表示方法,为基本算术运算中的舍入误差定义紧致边界。
- 将基于ULP的过滤机制集成至约束传播框架中,以在求解过程中早期剔除不一致的取值。
- 利用二进制IEEE 754浮点数格式的结构特性,精确计算加法、减法、乘法和除法的误差边界。
- 通过引入具备ULP感知误差建模的区间算术形式化过滤过程,以保持精度。
- 在浮点数运算语义的上下文中,证明所提出过滤算法的正确性与完备性。
实验结果
研究问题
- RQ1如何更精确地过滤浮点数约束,以提升复杂路径的测试数据生成效果?
- RQ2最大ULP原则能否被推广至等式约束之外,以支持验证中的算术约束?
- RQ3基于ULP的误差建模对浮点数程序约束求解的效率与可靠性有何影响?
- RQ4所提出的过滤方法与忽略浮点数舍入误差的传统求解器相比表现如何?
主要发现
- 所提出的过滤算法通过使用浮点数运算的最大ULP建模舍入误差,显著提升了约束求解的精度。
- ULP原则的推广使得任意算术约束(而不仅限于等式)能够被有效过滤,从而增强了在真实世界程序中的适用性。
- 该方法实现了浮点数程序中安全且高效的约束传播,支持生成可触及复杂路径的测试输入。
- 通过集成具备ULP感知的推理机制,该方法避免了实数域求解器的不精确性,为验证提供了更强的保证。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。