DocumentCode
561364
Title
Interpolants from Z3 proofs
Author
McMillan, Kenneth L.
Author_Institution
Microsoft Research
fYear
2011
fDate
Oct. 30 2011-Nov. 2 2011
Firstpage
19
Lastpage
27
Abstract
Interpolating provers have a number of applications in formal verification, including abstraction refinement and invariant generation. It has proved difficult, however, to construct efficient interpolating provers for rich theories. We consider the problem of deriving interpolants from proofs generated by the highly efficient SMT solver Z3 in the quantified theory of arrays, uninterpreted function symbols and linear integer arithmetic (AUFLIA) a theory that is commonly used in program verification. We do not directly interpolate the proofs from Z3. Rather, we divide them into small lemmas that can be handled by a secondary interpolating prover for a restricted theory. We show experimentally that the overhead of this secondary prover is negligible. Moreover, the efficiency of Z3 makes it possible to handle problems that are beyond the reach of existing interpolating provers, as we demonstrate using benchmarks derived from bounded verification of sequential and concurrent programs.
Keywords
computability; concurrency control; formal verification; interpolation; theorem proving; Z3 SMT proof; abstraction refinement; concurrent program; formal verification; function symbol; interpolating prover; invariant generation; linear integer arithmetic theory; program verification; satisfiability modulo theory; sequential program; Calculus; Cognition; Equations; Interpolation; Silicon; Syntactics; Vocabulary;
fLanguage
English
Publisher
ieee
Conference_Titel
Formal Methods in Computer-Aided Design (FMCAD), 2011
Conference_Location
Austin, TX
Print_ISBN
978-1-4673-0896-0
Type
conf
Filename
6148898
Link To Document