SMT-Based System Verification with DVF

We introduce the Deductive Verication Framework (DVF ), a language and a tool for verifying properties of transition systems. The language is procedural and the system transitions are a selected subset of procedures. The type system and built-in operations are consistent with SMT-LIB, as are the multisorted rst-order logical formulas that may occur in DVF programs as pre- and post-conditions, assumptions, assertions, and goals. A template mechanism allows parametric specication of complex types within the connes of this logic. Verication conditions are generated from specied goals and passed to SMT engine(s). A general assume-guarantee scheme supports a thin layer of interactive proving.

[1]  Seungjoon Park,et al.  A Simple Method for Parameterized Verification of Cache Coherence Protocols , 2004, FMCAD.

[2]  Clark W. Barrett,et al.  The SMT-LIB Standard Version 2.0 , 2010 .

[3]  Mark A. Hillebrand,et al.  VCC: A Practical System for Verifying Concurrent C , 2009, TPHOLs.

[4]  Kenneth L. McMillan,et al.  Circular Compositional Reasoning about Liveness , 1999, CHARME.

[5]  Leslie Lamport,et al.  Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers [Book Review] , 2002, Computer.

[6]  K. Rustan M. Leino,et al.  Dafny: An Automatic Program Verifier for Functional Correctness , 2010, LPAR.

[7]  Alan J. Hu,et al.  Protocol verification as a hardware design aid , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[8]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[9]  K. Rustan M. Leino,et al.  The Spec# Programming System: Challenges and Directions , 2005, VSTTE.

[10]  L. D. Moura,et al.  The YICES SMT Solver , 2006 .

[11]  Cesare Tinelli,et al.  The SMT-LIB Standard: Version 1.2 , 2005 .

[12]  Claude Marché,et al.  The Why/Krakatoa/Caduceus Platform for Deductive Program Verification , 2007, CAV.

[13]  K. Rustan M. Leino,et al.  A Polymorphic Intermediate Verification Language: Design and Logical Encoding , 2010, TACAS.

[14]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[15]  Sanjit A. Seshia,et al.  Modeling and Verifying Systems Using a Logic of Counter Arithmetic with Lambda Expressions and Uninterpreted Functions , 2002, CAV.

[16]  Jean-François Couchot,et al.  Handling Polymorphism in Automated Deduction , 2007, CADE.

[17]  Natarajan Shankar,et al.  The SAL Language Manual , 2003 .

[18]  Kenneth L. McMillan,et al.  Verification of Infinite State Systems by Compositional Model Checking , 1999, CHARME.