Inductive Predicate Synthesis Modulo Programs (Extended)
Scott Wesley, Maria Christakis, Jorge A. Navas, Richard Trefler,, Valentin W\"ustholz, Arie Gurfinkel

TL;DR
This paper introduces IPS-MP, a language extension for predicate synthesis in program analysis, enabling efficient verification tasks like parameterized model checking and smart-contract verification by reducing to constrained Horn clauses.
Contribution
It proposes IPS-MP, a novel language extension that simplifies predicate synthesis in verification, and demonstrates its efficiency and applicability to complex verification problems.
Findings
IPS-MP reduces to satisfiability of constrained Horn clauses.
Efficient IPS-MP solver based on SeaHorn is developed.
Application demonstrated in smart-contract verification.
Abstract
A growing trend in program analysis is to encode verification conditions within the language of the input program. This simplifies the design of analysis tools by utilizing off-the-shelf verifiers, but makes communication with the underlying solver more challenging. Essentially, the analyzer operates at the level of input programs, whereas the solver operates at the level of problem encodings. To bridge this gap, the verifier must pass along proof-rules from the analyzer to the solver. For example, an analyzer for concurrent programs built on an inductive program verifier might need to declare Owicki-Gries style proof-rules for the underlying solver. Each such proof-rule further specifies how a program should be verified, meaning that the problem of passing proof-rules is a form of invariant synthesis. Similarly, many program analysis tasks reduce to the synthesis of pure, loop-free…
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.
