Symmetry Reduction for B by Permutation Flooding

Symmetry reduction is an established method for limiting the amount of states that have to be checked during exhaustive model checking. The idea is to only verify a single representative of every class of symmetric states. However, computing this representative can be non-trivial, especially for a language such as B with its involved data structures and operations. In this paper, we propose an alternate approach, called permutation flooding. It works by computing permutations of newly encountered states, and adding them to the state space. This turns out to be relatively unproblematic for B's data structures and we have implemented the algorithm inside the ProB model checker. Empirical results confirm that this approach is effective in practice; speedups exceed an order of magnitude in some cases. The paper also contains correctness results of permutation flooding, which should also be applicable for classical symmetry reduction in B.

[1]  Igor L. Markov,et al.  Solving difficult SAT instances in the presence of symmetry , 2002, Proceedings 2002 Design Automation Conference (IEEE Cat. No.02CH37324).

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

[3]  Michael J. Butler,et al.  Combining CSP and B for Specification and Property Verification , 2005, FM.

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

[5]  Stefania Gnesi,et al.  FME 2003: Formal Methods: International Symposium of Formal Methods Europe, Pisa, Italy, September 8-14, 2003. Proceedings , 2003, Lecture Notes in Computer Science.

[6]  James M. Crawford,et al.  Symmetry-Breaking Predicates for Search Problems , 1996, KR.

[7]  Bruno Legeard,et al.  Automated Boundary Testing from Z and B , 2002, FME.

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

[9]  Peter A. Lindsay,et al.  FME 2002:Formal Methods—Getting IT Right , 2002, Lecture Notes in Computer Science.

[10]  A. Prasad Sistla,et al.  Employing symmetry reductions in model checking , 2004, Comput. Lang. Syst. Struct..

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

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

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

[14]  Ajitha Rajan,et al.  Requirements Coverage as an Adequacy Measure for Conformance Testing , 2008, ICFEM.

[15]  Igor L. Markov,et al.  Efficient symmetry breaking for Boolean satisfiability , 2003, IEEE Transactions on Computers.

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

[17]  Ian J. Hayes,et al.  FM 2005: Formal Methods, International Symposium of Formal Methods Europe, Newcastle, UK, July 18-22, 2005, Proceedings , 2005, FM.

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

[19]  Igor L. Markov,et al.  Exploiting structure in symmetry detection for CNF , 2004, Proceedings. 41st Design Automation Conference, 2004..

[20]  A. Prasad Sistla,et al.  Symmetry and reduced symmetry in model checking , 2001, TOPL.

[21]  David L. Dill,et al.  Better Verification Through Symmetry11This research was supported by the “Multi-Module Systems” thrust of the Stanford Center for Integrated Systems. Sun Microsystems provided the computers. , 1993 .