Efficient approximate verification of B and Z models via symmetry markers

We present a new approximate verification technique for falsifying the invariants of B models. The technique employs symmetry of B models induced by the use of deferred sets. The basic idea is to efficiently compute markers for states, so that symmetric states are guaranteed to have the same marker (but not the other way around). The falsification algorithm then assumes that two states with the same marker can be considered symmetric. We describe how symmetry markers can be efficiently computed and empirically evaluate an implementation, showing both very good performance results and a high degree of precision (i.e., very few non-symmetric states receive the same marker). We also identify a class of B models for which the technique is precise and therefore provides an efficient and complete verification method. Finally, we show that the technique can be applied to Z models as well.

[1]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[2]  허윤정,et al.  Holzmann의 ˝The Model Checker SPIN˝에 대하여 , 1998 .

[3]  Orna Grumberg,et al.  Combining Symmetry Reduction and Under-Approximation for Symbolic Model Checking , 2005, Formal Methods Syst. Des..

[4]  John Derrick,et al.  Issues in Implementing a Model Checker for Z , 2006, ICFEM.

[5]  A. Prasad Sistla,et al.  Utilizing symmetry when model-checking under fairness assumptions: an automata-theoretic approach , 1997, TOPL.

[6]  Gerd Behrmann,et al.  Adding Symmetry Reduction to Uppaal , 2003, FORMATS.

[7]  A. Prasad Sistla,et al.  SMC: a symmetry-based model checker for verification of safety and liveness properties , 2000, TSEM.

[8]  Muffy Calder,et al.  Symmetry in temporal logic model checking , 2006, CSUR.

[9]  Muffy Calder,et al.  Finding Symmetry in Models of Concurrent Systems by Static Channel Diagram Analysis , 2005, Electron. Notes Theor. Comput. Sci..

[10]  A. Prasad Sistla,et al.  Symmetry and model checking , 1993, Formal Methods Syst. Des..

[11]  Michael J. Butler,et al.  Symmetry Reduced Model Checking for B , 2007, First Joint IEEE/IFIP Symposium on Theoretical Aspects of Software Engineering (TASE '07).

[12]  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.

[13]  Gerard J. Holzmann,et al.  An improved protocol reachability analysis technique , 1988, Softw. Pract. Exp..

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

[15]  Jean-Raymond Abrial,et al.  Modeling in event-b - system and software engineering by Jean-Raymond Abrial , 2010, SOEN.

[16]  Michael J. Butler,et al.  Symmetry Reduction for B by Permutation Flooding , 2007, B.

[17]  Mordechai Ben-Ari,et al.  Principles of the spin model checker , 2008 .

[18]  Donald L. Kreher,et al.  Combinatorial algorithms: generation, enumeration, and search , 1998, SIGA.

[19]  Michael Leuschel,et al.  Validating Z Specifications Using the ProBAnimator and Model Checker , 2007, IFM.

[20]  Michael Leuschel,et al.  ProB gets Nauty: Effective Symmetry Reduction for B and Z Models , 2008, 2008 2nd IFIP/IEEE International Symposium on Theoretical Aspects of Software Engineering.

[21]  Dragan Bosnacki,et al.  Symmetric Spin , 2000, SPIN.

[22]  Somesh Jha,et al.  Symmetry and Induction in Model Checking , 1995, Computer Science Today.

[23]  John Derrick,et al.  Z2SAL - Building a Model Checker for Z , 2008, ABZ.

[24]  Shin Nakajima,et al.  The SPIN Model Checker : Primer and Reference Manual , 2004 .

[25]  John Derrick,et al.  Z2SAL: a translation-based model checker for Z , 2009, Formal Aspects of Computing.

[26]  Gary L. Peterson,et al.  Myths About the Mutual Exclusion Problem , 1981, Inf. Process. Lett..

[27]  Michael J. Butler,et al.  Automatic Refinement Checking for B , 2005, ICFEM.

[28]  Michael Leuschel,et al.  The High Road to Formal Validation: , 2008, ABZ.

[29]  Michael J. Butler,et al.  ProB: A Model Checker for B , 2003, FME.

[30]  Frank Waters,et al.  The B Book , 1971 .

[31]  Somesh Jha,et al.  Exploiting symmetry in temporal logic model checking , 1993, Formal Methods Syst. Des..

[32]  Robert K. Brayton,et al.  Structural Symmetry and Model Checking , 1998, CAV.

[33]  Somesh Jha,et al.  Isomorph-free model enumeration: a new method for checking relational specifications , 1998, TOPL.

[34]  Muffy Calder,et al.  Spin-to-Grape: A Tool for Analysing Symmetry in Promela Models , 2005, Electron. Notes Theor. Comput. Sci..

[35]  Bernd Fischer,et al.  A Lazy Unbounded Model Checker for Event-B , 2009, ICFEM.

[36]  Donald L. Kreher,et al.  Graphs, algorithms and optimization , 2004 .

[37]  Michael J. Butler,et al.  An Open Extensible Tool Environment for Event-B , 2006, ICFEM.

[38]  Alastair F. Donaldson,et al.  Exact and Approximate Strategies for Symmetry Reduction in Model Checking , 2006, FM.

[39]  A. Prasad Sistla,et al.  Symmetry and model checking , 1996, Formal Methods Syst. Des..

[40]  Michael Leuschel,et al.  Seven at one stroke: LTL model checking for high-level specifications in B, Z, CSP, and more , 2009, International Journal on Software Tools for Technology Transfer.

[41]  Michael Leuschel,et al.  Efficient Approximate Verification of B via Symmetry Markers , 2007 .

[42]  Michael J. Butler,et al.  ProB: an automated analysis toolset for the B method , 2008, International Journal on Software Tools for Technology Transfer.

[43]  Alastair F. Donaldson,et al.  Automatic Symmetry Detection for Model Checking Using Computational Group Theory , 2005, FM.

[44]  David L. Dill,et al.  Better verification through symmetry , 1996, Formal Methods Syst. Des..

[45]  Dragan Bosnacki,et al.  Efficient Approximate Verification of Promela Models Via Symmetry Markers , 2007, ATVA.

[46]  Steve Schneider The B-method - an introduction , 2001, The cornerstones of computing series.