Author:
Izycheva Anastasiia,Darulova Eva,Seidl Helmut
Abstract
AbstractWe present an automated procedure for synthesizing sound inductive invariants for floating-point numerical loops. Our procedure generates invariants of the form of a convex polynomial inequality that tightly bounds the values of loop variables. Such invariants are a prerequisite for reasoning about the safety and roundoff errors of floating-point programs. Unlike previous approaches that rely on policy iteration, linear algebra or semi-definite programming, we propose a heuristic procedure based on simulation and counterexample-guided refinement. We observe that this combination is remarkably effective and general and can handle both linear and nonlinear loop bodies, nondeterministic values as well as conditional statements. Our evaluation shows that our approach can efficiently synthesize loop invariants for existing benchmarks from literature, but that it is also able to find invariants for nonlinear loops that today’s tools cannot handle.
Publisher
Springer International Publishing
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Combining rule- and SMT-based reasoning for verifying floating-point Java programs in KeY;International Journal on Software Tools for Technology Transfer;2023-03-08
2. Deductive Verification of Floating-Point Java Programs in KeY;Tools and Algorithms for the Construction and Analysis of Systems;2021