Abstract
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.
Similar content being viewed by others
References
Bloom BH (1970) Spacetime tradeoffs in hash coding with allowable errors. Comm ACM 13(7): 422–426
Holzmann GJ (1987) On limits and possibilities of automated protocol analysis. In: Rudin H, West C (eds) Proceedings of sixth international conference on protocol specification, testing, and verification. INWG IFIP, Zurich, Switzerland, June 1987
Holzmann GJ (1998) An analysis of bitstate hashing. In: Formal methods in system design, vol 13, issue 3. Kluwer, Dordrect, pp 287–305, November 1998
Holzmann GJ (2004) The spin model checker: primer and reference manual. Addison-Wesley, Reading
Holzmann GJ, Peled D (1994) An improvement in formal verification. In: Proceedings of seventh international conference on formal description techniques, Bern, Switzerland, October 1994. Chapman & Hall, London, pp 197–211
Holzmann GJ, Peled D, Yannakakis M (1996) On nested depth first search. In: Proceedings of second spin workshop. American Mathematical Society, Providence, pp 23–32
Holzmann GJ, Joshi R, Groce A (2010) Swarm verification techniques. IEEE Trans Softw Eng (to appear)
Lal A, Reps T (2008) Reducing concurrent analysis under a context bound to sequential analysis. In: Proceedings of CAV
Peled D (2004) Combining partial order reduction with on-the-fly model checking. In: Proceeding of CAV 2004. LNCS, vol 818. Springer, Berlin, pp 377–390
Musuvathi M, Qadeer S (2007a) Partial-order reduction for context-bounded state exploration. In: Microsoft Tech Report, MSR-TR-2007-12, February 2007, p 19
Musuvathi M, Qadeer S (2007b) Iterative context bounding for systematic testing of multithreaded programs. In: Proceedings of ACM SIGPLAN conference on programming language design and implementation (PLDI), San Diego, June 2007
Musuvathi M, Qadeer S (2008) Fair stateless model checking. In: Proceedings of ACM SIGPLAN conference on programming language design and implementation, Tucson, AZ, June 2008
Qadeer S, Wu D (2004) KISS: Keep it simple and sequential. In: Proceedings of ACM SIGPLAN conference on programming language design and implementation (PLDI), Washington, DC, 14–24 June 2004
Qadeer S, Rehof J (2005) Context-bounded model checking. In: Proceedings of TACAS. LNCS, vol 3440, pp 93–107
Author information
Authors and Affiliations
Corresponding author
Additional information
J.C.P. Woodcock
Rights and permissions
About this article
Cite this article
Holzmann, G.J., Florian, M. Model checking with bounded context switching. Form Asp Comp 23, 365–389 (2011). https://doi.org/10.1007/s00165-010-0160-5
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-010-0160-5