From Model Checking to a Temporal Proof for Partial Models

Three-valued model checking has been proposed to support verification when some portions of the model are unspecified. Given a formal property, the model checker returns true if the property is satisfied, false and a violating behavior if it is not, maybe and a possibly violating behavior if it is possibly satisfied, i.e., its satisfaction may depend on how the unspecified parts are refined. Model checking, however, does not explain the reasons why a property holds, or possibly holds. Theorem proving can instead do it by providing a formal proof that explains why a property holds, or possibly holds in a system. Integration of theorem proving with model checking has only been studied for classical two-valued logic – hence, for fully specified models. This paper proposes a unified approach that enriches three-valued model checking with theorem proving to generate proofs which explain why true and maybe results are returned.

[1]  Patrice Godefroid,et al.  Model Checking Partial State Spaces with 3-Valued Temporal Logics , 1999, CAV.

[2]  Patrice Godefroid,et al.  Generalized Model Checking: Reasoning about Partial State Spaces , 2000, CONCUR.

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

[4]  M. Huth,et al.  Efficient Patterns for Model Checking Partial State Spaces in CTL ∩ LTL , 2006 .

[5]  Rance Cleaveland,et al.  Evidence-Based Model Checking , 2002, CAV.

[6]  Patrice Godefroid,et al.  LTL generalized model checking revisited , 2008, International Journal on Software Tools for Technology Transfer.

[7]  Radha Jagadeesan,et al.  Abstraction-Based Model Checking Using Modal Transition Systems , 2001, CONCUR.

[8]  Kedar S. Namjoshi,et al.  Certifying Model Checkers , 2001, CAV.

[9]  Marsha Chechik,et al.  How Thorough Is Thorough Enough? , 2005, CHARME.

[10]  Marsha Chechik,et al.  Multi-Valued Model Checking via Classical Model Checking , 2003, CONCUR.

[11]  Michael Huth,et al.  Model checking vs. generalized model checking: semantic minimizations for temporal logics , 2005, 20th Annual IEEE Symposium on Logic in Computer Science (LICS' 05).

[12]  Doron A. Peled,et al.  From model checking to a temporal proof , 2001, SPIN '01.

[13]  George S. Avrunin,et al.  Property specification patterns for finite-state verification , 1998, FMSP '98.

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

[15]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[16]  Pierre Wolper,et al.  Simple on-the-fly automatic verification of linear temporal logic , 1995, PSTV.

[17]  Felix Naumann,et al.  Data fusion , 2009, CSUR.

[18]  Patrice Godefroid,et al.  Model Checking with Multi-valued Logics , 2004, ICALP.

[19]  Paolo Arcaini,et al.  Formal validation and verification of a medical software critical component , 2015, 2015 ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE).

[20]  Kim G. Larsen,et al.  A modal process logic , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[21]  Amir Pnueli,et al.  From Falsification to Verification , 2001, FSTTCS.

[22]  Carlo Ghezzi,et al.  Dealing with Incompleteness in Automata-Based Model Checking , 2016, FM.

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

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