Distributed Branching Bisimulation Reduction of State Spaces

Abstract Enumerative model checking tools are limited by the size of the state space to which they can be applied. Reduction modulo branching bisimulation usually results in a much smaller state space and therefore enables model checking of much larger state spaces. We present an algorithm for reducing state spaces modulo branching bisimulation which is suitable for distributed implementation. The target architecture is a cluster with a high bandwidth interconnect. The algorithm is based on partition refinement and it works on transition systems which contain cycles of invisible steps, without eliminating strongly connected components first. To avoid fine grained parallelism, the algorithm refines the whole partition instead of just a single block in the partition. We prove correctness and also present some experimental results obtained with single threaded and distributed prototypes.

[1]  David L. Dill,et al.  Parallelizing the Murϕ Verifier , 2001, Formal Methods Syst. Des..

[2]  Alain Kerbrat,et al.  CADP - A Protocol Validation and Verification Toolbox , 1996, CAV.

[3]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[4]  S. P. Luttik Description and formal specification of the Link Layer of P1394 , 1997, FME 1997.

[5]  Lubos Brim,et al.  Distributed LTL model-checking in SPIN , 2001, SPIN '01.

[6]  Rob J. van Glabbeek,et al.  Branching time and abstraction in bisimulation semantics , 1996, JACM.

[7]  Jan Friso Groote,et al.  Analysis of a distributed system for lifting trucks , 2003, J. Log. Algebraic Methods Program..

[8]  Simona Orzan,et al.  Distributed state space minimization , 2004, International Journal on Software Tools for Technology Transfer.

[9]  Radu Mateescu,et al.  Parallel state space construction for model-checking , 2001, SPIN '01.

[10]  Wan Fokkink,et al.  Model checking a cache coherence protocol for a Java DSM implementation , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[11]  Edmund M. Clarke,et al.  Characterizing Finite Kripke Structures in Propositional Temporal Logic , 1988, Theor. Comput. Sci..

[12]  Judi Romijn Model checking the HAVi leader election protocol , 1999 .

[13]  Radu Mateescu,et al.  XTL: A Meta-Language and Tool for Temporal Logic Model-Checking , 1998 .

[14]  Jan Friso Groote,et al.  An Efficient Algorithm for Branching Bisimulation and Stuttering Equivalence , 1990, ICALP.

[15]  Benedikt Bollig,et al.  Parallel Model Checking for the Alternation Free µ-Calculus , 2001, TACAS.

[16]  Benedikt Bollig,et al.  Local Parallel Model Checking for the Alternation-Free µ-Calculus , 2002, SPIN.

[17]  Simona Orzan,et al.  A distributed algorithm for strong bisimulation reduction of state spaces , 2004, International Journal on Software Tools for Technology Transfer.

[18]  Frits W. Vaandrager,et al.  Distributing Timed Model Checking - How the Search Order Matters , 2000, CAV.