Verification of Programs by Combining Iterated Specialization with Interpolation
Emanuele De Angelis, Fabio Fioravanti, Jorge A. Navas, Maurizio, Proietti

TL;DR
This paper introduces a modular verification technique that combines Iterated Specialization and Interpolating Horn Clause Solving to improve program safety verification accuracy.
Contribution
It presents a novel combined approach integrating specialization and interpolation for program verification, enhancing precision over individual methods.
Findings
Improved verification precision with combined approach
Effective discovery of program invariants
Enhanced analysis through iterative specialization and interpolation
Abstract
We present a verification technique for program safety that combines Iterated Specialization and Interpolating Horn Clause Solving. Our new method composes together these two techniques in a modular way by exploiting the common Horn Clause representation of the verification problem. The Iterated Specialization verifier transforms an initial set of verification conditions by using unfold/fold equivalence preserving transformation rules. During transformation, program invariants are discovered by applying widening operators. Then the output set of specialized verification conditions is analyzed by an Interpolating Horn Clause solver, hence adding the effect of interpolation to the effect of widening. The specialization and interpolation phases can be iterated, and also combined with other transformations that change the direction of propagation of the constraints (forward from the program…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Logic, programming, and type systems · Software Testing and Debugging Techniques
