Abstract
We present VS3, a tool that automatically verifies complex properties of programs and infers maximally weak preconditions and maximally strong postconditions by leveraging the power of SMT solvers. VS3 discovers program invariants with arbitrary, but prespecified, quantification and logical structure. The user supplies VS3 with a set of predicates and invariant templates. VS3 automatically finds instantiations of the unknowns in the templates as subsets of the predicate set. We have used VS3 to automatically verify ∀ ∃ properties of programs and to infer worst case upper bounds and preconditions for functional correctness.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Srivastava, S., Gulwani, S.: Program verification using templates over predicate abstraction. In: PLDI (2009)
Gulwani, S., Srivastava, S., Venkatesan, R.: Program analysis as constraint solving. In: PLDI, pp. 281–292 (2008)
Microsoft Research: Phoenix (2008), http://research.microsoft.com/Phoenix/
de Moura, L., Bjørner, N.: Z3: Efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)
Gulwani, S., Srivastava, S., Venkatesan, R.: Constraint based invariant inference over predicate abstraction. In: Jones, N.D., Müller-Olm, M. (eds.) VMCAI 2009. LNCS, vol. 5403, pp. 120–135. Springer, Heidelberg (2009)
Moura, L.: Bjørner, N.: Efficient E-matching for SMT solvers. In: CADE-21 (2007)
Balaban, I., Fang, Y., Pnueli, A., Zuck, L.D.: IIV: An invisible invariant verifier. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 408–412. Springer, Heidelberg (2005)
Kovács, L., Voronkov, A.: Finding loop invariants for programs over arrays using a theorem prover. In: FASE (2009)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Srivastava, S., Gulwani, S., Foster, J.S. (2009). VS3: SMT Solvers for Program Verification. In: Bouajjani, A., Maler, O. (eds) Computer Aided Verification. CAV 2009. Lecture Notes in Computer Science, vol 5643. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02658-4_58
Download citation
DOI: https://doi.org/10.1007/978-3-642-02658-4_58
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-02657-7
Online ISBN: 978-3-642-02658-4
eBook Packages: Computer ScienceComputer Science (R0)