Model checking with bounded context switching

We discuss the implementation of a bounded context switching algorithm in the Spin model checker. The algorithm allows us to find counter-examples that are often simpler to understand, and that may be more likely to occur in practice. We discuss extensions of the algorithm that allow us to use this new algorithm in combination with most other search modes supported in Spin, including partial order reduction and bitstate hashing. We show that, other than often assumed, the enforcement of a bounded context switching discipline does not decrease but increases the complexity of the model checking procedure. We discuss the performance of the algorithm on a range of applications.

[1]  Burton H. Bloom,et al.  Space/time trade-offs in hash coding with allowable errors , 1970, CACM.

[2]  Marvin V. Zelkowitz,et al.  Programming Languages: Design and Implementation , 1975 .

[3]  Gerard J. Holzmann,et al.  An improvement in formal verification , 1994, FORTE.

[4]  Mihalis Yannakakis,et al.  On nested depth first search , 1996, The Spin Verification System.

[5]  Thomas W. Reps,et al.  Reducing Concurrent Analysis Under a Context Bound to Sequential Analysis , 2008, CAV.

[6]  Madan Musuvathi,et al.  Fair stateless model checking , 2008, PLDI '08.

[7]  Shaz Qadeer,et al.  Partial-Order Reduction for Context-Bounded State Exploration , 2007 .

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

[9]  Gerard J. Holzmann,et al.  An Analysis of Bitstate Hashing , 1995, Formal Methods Syst. Des..

[10]  Madan Musuvathi,et al.  Iterative context bounding for systematic testing of multithreaded programs , 2007, PLDI '07.

[11]  Gerard J. Holzmann An analysis of bitstate hashing , 1995 .

[12]  Jakob Rehof,et al.  Context-Bounded Model Checking of Concurrent Software , 2005, TACAS.

[13]  Dinghao Wu,et al.  KISS: keep it simple and sequential , 2004, PLDI '04.

[14]  Gerard J. Holzmann,et al.  The SPIN Model Checker , 2003 .

[15]  Gerard J. Holzmann,et al.  On Limits and Possibilities of Automated Protocol Analysis , 1987, PSTV.

[16]  Doron A. Peled Combining Partial Order Reductions with On-the-fly Model-Checking , 1994, CAV.

[17]  Alex Groce,et al.  Swarm Verification Techniques , 2011, IEEE Transactions on Software Engineering.