Breadth-bounded model checking

Model checking large concurrent systems is a difficult task, due to the infamous state space explosion problem. To combat this problem, a technique called Bounded Model Checking has been proposed. This techniques relies on restricting the level of unfoldings of the transition relation of a given specification. This technique is quite effective for verifying requirements that are relatively close to the initial state of the system's behaviour. Unfortunately, this technique is not adequate for disproving requirements which occur at levels that are relatively deep within the system. In this paper, we study an alternative approach to BMC by restricting the breadth of the transition relation, based on a Highway simulation. This allows us to find violations to (1) properties that lurk deep in a specification, and (2) properties that require lengthy counterexamples. Our experiments show that the method is complementary to BMC, and is effective in many practical applications.

[1]  Alex Groce,et al.  Heuristics for model checking Java programs , 2004, International Journal on Software Tools for Technology Transfer.

[2]  Jan Friso Groote,et al.  Search algorithms for automated validation , 2009, J. Log. Algebraic Methods Program..

[3]  Editors , 1986, Brain Research Bulletin.

[4]  Armin Biere,et al.  Bounded Model Checking Using Satisfiability Solving , 2001, Formal Methods Syst. Des..

[5]  Jean-Marc Vincent,et al.  Resource-Aware Verification Using Randomized Exploration of Large State Spaces , 2008, SPIN.

[6]  Muhammad Torabi Dashti,et al.  Pruning State Spaces with Extended Beam Search , 2006, ATVA.

[7]  Lubos Brim,et al.  Revisiting Resistance Speeds Up I/O-Efficient LTL Model Checking , 2008, TACAS.

[8]  Ganesh Gopalakrishnan,et al.  Random Walk Based Heuristic Algorithms for Distributed Memory Model Checking , 2003, PDMC@CAV.

[9]  Radu Grosu,et al.  Monte Carlo Model Checking , 2005, TACAS.

[10]  Kim G. Larsen,et al.  Complexity in Simplicity: Flexible Agent-Based State Space Exploration , 2007, TACAS.

[11]  Wojciech Penczek,et al.  Bounded Model Checking for the Universal Fragment of CTL , 2002, Fundam. Informaticae.

[12]  Karsten Stahl,et al.  Parameterized Verification of a Cache Coherence Protocol: Safety and Liveness , 2002, VMCAI.

[13]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[14]  Matthew B. Dwyer,et al.  Parallel Randomized State-Space Search , 2007, 29th International Conference on Software Engineering (ICSE'07).

[15]  Ivana Černá,et al.  Enhancing random walk state space exploration , 2005, FMICS '05.

[16]  Orna Grumberg,et al.  A New Approach to Bounded Model Checking for Branching Time Logics , 2007, ATVA.

[17]  Jan Friso Groote,et al.  Parameterised boolean equation systems , 2005, Theor. Comput. Sci..

[18]  Bernard Berthomieu,et al.  Algebraic Specification of Communication Protocols , 1981 .

[19]  Michael D. Jones,et al.  Parallel search for LTL violations , 2003, International Journal on Software Tools for Technology Transfer.

[20]  Alex Groce,et al.  Tackling Large Verification Problems with the Swarm Tool , 2008, SPIN.

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

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

[23]  Stefan Edelkamp,et al.  Large-Scale Directed Model Checking LTL , 2006, SPIN.

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