Combinations of Model Checking and Theorem Proving

The two main approaches to the formal verification of reactive systems are based, respectively, on model checking (algorithmic verification) and theorem proving (deductive verification). These two approaches have complementary strengths and weaknesses, and their combination promises to enhance the capabilities of each. This paper surveys a number of methods for doing so. As is often the case, the combinations can be classified according to how tightly the different components are integrated, their range of application, and their degree of automation.

[1]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .

[2]  Nikolaj Bjørner,et al.  A Practical Integration of First-Order Reasoning and Decision Procedures , 1997, CADE.

[3]  Joseph Sifakis,et al.  Property preserving abstractions for the verification of concurrent systems , 1995, Formal Methods Syst. Des..

[4]  Zohar Manna,et al.  Temporal Verification of Reactive Systems , 1995, Springer New York.

[5]  Mieke Massink,et al.  Theoretical and Practical Aspects of SPIN Model Checking , 1999, Lecture Notes in Computer Science.

[6]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[7]  David L. Dill,et al.  Experience with Predicate Abstraction , 1999, CAV.

[8]  Tobias Nipkow,et al.  Combining Model Checking and Deduction for I/O-Automata , 1995, TACAS.

[9]  Natarajan Shankar,et al.  PVS: Combining Specification, Proof Checking, and Model Checking , 1996, FMCAD.

[10]  David A. Schmidt,et al.  Program Analysis as Model Checking of Abstract Interpretations , 1998, SAS.

[11]  Henny B. Sipma,et al.  Generalized Temporal Verification Diagrams , 1995, FSTTCS.

[12]  David L. Dill,et al.  The Murphi Verification System , 1996, CAV.

[13]  Zohar Manna,et al.  Temporal verification of reactive systems - safety , 1995 .

[14]  William McCune,et al.  Automated Deduction—CADE-14 , 1997, Lecture Notes in Computer Science.

[15]  J. Davenport Editor , 1960 .

[16]  Colin Stirling,et al.  Local Model Checking for Infinite State Spaces , 1992, Theor. Comput. Sci..

[17]  Hardi Hungar,et al.  What if model checking must be truly symbolic , 1995, CHARME.

[18]  Masahiro Fujita,et al.  Hybrid decision diagrams , 1995, ICCAD.

[19]  K. Rustan M. Leino,et al.  Extended static checking , 1998, PROCOMET.

[20]  Dennis Dams,et al.  Abstract interpretation and partition refinement for model checking , 1996 .

[21]  Bernd Finkbeiner,et al.  Deductive Verification of Modular Systems , 1997, COMPOS.

[22]  David L. Dill,et al.  Validity Checking for Combinations of Theories with Equality , 1996, FMCAD.

[23]  Jürgen Dingel,et al.  Model Checking for Infinite State Systems Using Data Abstraction, Assumption-Commitment Style reasoning and Theorem Proving , 1995, CAV.

[24]  Martin Peschke,et al.  Design and Validation of Computer Protocols , 2003 .

[25]  Tomás E. Uribe,et al.  Generating Finite-State Abstractions of Reactive Systems Using Decision Procedures , 1998, CAV.

[26]  Z. Manna,et al.  Diagram-based verification of discrete, real-time and hybrid systems , 1999 .

[27]  Richard Gerber,et al.  Symbolic Model Checking of Infinite State Systems Using Presburger Arithmetic , 1997, CAV.

[28]  Natarajan Shankar,et al.  An Integration of Model Checking with Automated Proof Checking , 1995, CAV.

[29]  Zohar Manna,et al.  Temporal Verification by Diagram Transformations , 1996, CAV.

[30]  Amir Pnueli,et al.  Compositionality: The Significant Difference , 1999, Lecture Notes in Computer Science.

[31]  Kedar S. Namjoshi,et al.  On model checking for non-deterministic infinite-state systems , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[32]  Henny B. Sipma,et al.  Visual Abstractions for Temporal Verification , 1999, AMAST.

[33]  Miquel Sànchez-Marrè,et al.  Collaboration between Human and Artificial Societies , 1999, Lecture Notes in Computer Science.

[34]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[35]  Amir Pnueli,et al.  Modularization and Abstraction: The Keys to Practical Formal Verification , 1998, MFCS.

[36]  Zohar Manna,et al.  Abstraction-based deductive-algorithmic verification of reactive systems , 2001 .

[37]  Zohar Manna,et al.  Temporal Verification Diagrams , 1994, TACS.

[38]  David L. Dill,et al.  Reducing Manual Abstraction in Formal Verification of Out-of-Order Execution , 1998, FMCAD.

[39]  Natarajan Shankar,et al.  Abstract and Model Check While You Prove , 1999, CAV.

[40]  Edward Y. Chang,et al.  STeP: Deductive-Algorithmic Verification of Reactive and Real-Time Systems , 1996, CAV.

[41]  Amir Pnueli,et al.  Symbolic Model Checking with Rich ssertional Languages , 1997, CAV.

[42]  Amir Pnueli,et al.  A Platform for Combining Deductive with Algorithmic Verification , 1996, CAV.

[43]  Vlad Rusu,et al.  On Proving Safety Properties by Integrating Static Analysis, Theorem Proving and Abstraction , 1999, TACAS.

[44]  Jozef Gruska,et al.  Mathematical Foundations of Computer Science 1998 , 1998, Lecture Notes in Computer Science.

[45]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[46]  Jerzy Tiuryn,et al.  Logics of Programs , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[47]  Henny B. Sipma,et al.  Deductive Model Checking , 1996, Formal Methods Syst. Des..

[48]  John M. Rushby,et al.  Integrated Formal Verification: Using Model Checking with Automated Abstraction, Invariant Generation, and Theorem Proving , 1999, SPIN.

[49]  Masahiro Fujita,et al.  Symbolic model checking using SAT procedures instead of BDDs , 1999, DAC '99.

[50]  C. Rattray,et al.  Specification and Verification of Concurrent Systems , 1990, Workshops in Computing.

[51]  E.M. Clarke,et al.  Hybrid decision diagrams. Overcoming the limitations of MTBDDs and BMDs , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[52]  Yassine Lakhnech,et al.  Computing Abstractions of Infinite State Systems Compositionally and Automatically , 1998, CAV.

[53]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[54]  Amir Pnueli,et al.  Symbolic model checking with rich assertional languages , 2001, Theor. Comput. Sci..

[55]  Thomas A. Henzinger,et al.  HYTECH: The Cornell HYbrid TECHnology Tool , 1994, Hybrid Systems.

[56]  Z. Manna,et al.  Integrating decision procedures for temporal verification , 1998 .

[57]  Joseph Sifakis,et al.  Specification and verification of concurrent systems in CESAR , 1982, Symposium on Programming.

[58]  Hassen Saïdi,et al.  Construction of Abstract State Graphs with PVS , 1997, CAV.

[59]  Zohar Manna,et al.  Automatic Generation of Invariants and Intermediate Assertions , 1997, Theor. Comput. Sci..

[60]  Ugo Montanari,et al.  International Symposium on Programming , 1982, Lecture Notes in Computer Science.

[61]  Zohar Manna,et al.  Completing the Temporal Picture , 1989, Theor. Comput. Sci..

[62]  Benjamin C. Pierce,et al.  Theoretical Aspects of Computer Software , 2001, Lecture Notes in Computer Science.

[63]  Stephan Merz,et al.  Model Checking , 2000 .

[64]  Leslie Lamport,et al.  Verification of a Multiplier: 64 Bits and Beyond , 1993, CAV.

[65]  Hardi Hungar Combining Model Checking and Theorem Proving to Verify Parallel Processes , 1993, CAV.