Back to the future: revisiting precise program verification using SMT solvers

S Lahiri, S Qadeer - ACM SIGPLAN Notices, 2008 - dl.acm.org
ACM SIGPLAN Notices, 2008dl.acm.org
This paper takes a fresh look at the problem of precise verification of heap-manipulating
programs using first-order Satisfiability-Modulo-Theories (SMT) solvers. We augment the
specification logic of such solvers by introducing the Logic of Interpreted Sets and Bounded
Quantification for specifying properties of heap-manipulating programs. Our logic is
expressive, closed under weakest preconditions, and efficiently implementable on top of
existing SMT solvers. We have created a prototype implementation of our logic over the …
This paper takes a fresh look at the problem of precise verification of heap-manipulating programs using first-order Satisfiability-Modulo-Theories (SMT) solvers. We augment the specification logic of such solvers by introducing the Logic of Interpreted Sets and Bounded Quantification for specifying properties of heap-manipulating programs. Our logic is expressive, closed under weakest preconditions, and efficiently implementable on top of existing SMT solvers. We have created a prototype implementation of our logic over the solvers Simplify and Z3 and used our prototype to verify many programs. Our preliminary experience is encouraging; the completeness and the efficiency of the decisionprocedure is clearly evident in practice and has greatly improved the user experience of the verifier.
ACM Digital Library