Partial-order reduction for general state exploring algorithms

  • Dragan BošnačkiEmail author
  • Stefan Leue
  • Alberto Lluch Lafuente


Partial-order reduction is one of the main techniques used to tackle the combinatorial state explosion problem occurring in explicit-state model checking of concurrent systems. The reduction is performed by exploiting the independence of concurrently executed events, which allows portions of the state space to be pruned. An important condition for the soundness of partial-order-based reduction algorithms is a condition that prevents indefinite ignoring of actions when pruning the state space. This condition is commonly known as the cycle proviso. In this paper, we present a new version of this proviso, which is applicable to a general search algorithm skeleton that we refer to as the general state exploring algorithm (GSEA). GSEA maintains a set of open states from which states are iteratively selected for expansion and moved to a closed set of states. Depending on the data structure used to represent the open set, GSEA can be instantiated as a depth-first, a breadth-first, or a directed search algorithm such as Best-First Search or A*. The proviso is characterized by reference to the open and closed set of states of the search algorithm. As a result, it can be computed in an efficient manner during the search based on local information. We implemented partial-order reduction for GSEA based on our proposed proviso in the tool HSF-SPIN, an extension of the explicit-state model checker SPIN for directed model checking. We evaluate the state space reduction achieved by partial-order reduction using the proposed proviso by comparing it on a set of benchmark problems to the use of other provisos. We also compare the use of breadth-first search (BFS) and A*, two algorithms ensuring that counterexamples of minimal length will be found, together with the proviso that we propose.


State Space Model Check Safety Property Execution Sequence Liveness Property 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alur, R., Brayton, R.K., Henzinger, T.A., Qadeer, S., Rajamani, S.K.: Partial-order reduction in symbolic state-space exploration, Formal Methods in System Design 18, pp. 97–116 (2001). A preliminary version appeared in Proc. of the 9th International Conference on Computer-aided Verification, CAV ’97, LNCS 1254, Springer, pp. 340–351 (1997)Google Scholar
  2. 2.
    Bošnački D., Dams D., Holenderski L.: Symmetric Spin. Int. J. Softw. Tools Technol. Transf. 4(1), 92–106 (2002)CrossRefGoogle Scholar
  3. 3.
    Bošnački, D., Holzmann, G.J.: Improving Spin’s Partial-Order Reduction for Breadth-First Search, Model Checking Software: 12th International SPIN Workshop, SPIN 2005, LNCS 3639. Springer, Berlin, pp. 91–105 (2005)Google Scholar
  4. 4.
    Bošnački, D., Leue, S., Lluch Lafuente, A.: Partial-order reduction for general state exploring algorithms. Model Checking Software: 13th International SPIN Workshop, SPIN 2006, LNCS 3925. Springer, Berlin (2006)Google Scholar
  5. 5.
    Clarke E., Grumberg O., Peled D.A.: Model Checking. MIT Press, Cambridge MA USA (2000)Google Scholar
  6. 6.
    D’Argenio, P.R., Katoen, J-P., Ruys, T.C., Tretmans, J.: The bounded retransmission protocol must be on time!. In: 3rd International Workshop on Tools and Algorithms for the Construction and Analysis of Systems, TACAS’97, Enschede, The Netherlands, LNCS 1217, pp. 416–431 (1997)Google Scholar
  7. 7.
    Devulder, S.: A comparison of lpv with other validation methods. In: Proceedings of ASE-99: The 14th IEEE Conference on Automated Software Engineering, Cocoa Beach (1999)Google Scholar
  8. 8.
    Dolev D., Klawe M.M., Rodeh M.: An O(n log n) unidirectional distributed algorithm for extrema finding in a circle. J. Algorithms 3(3), 245–260 (1982)zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Edelkamp S., Leue S., Lluch Lafuente A.: Directed explicit-state model checking in the validation of communication protocols. Int. J. Softw. Tools Technol. Transf. 5, 247–267 (2004)CrossRefGoogle Scholar
  10. 10.
    Edelkamp S., Leue S., Lluch Lafuente A.: Partial-order reduction and trail improvement in directed model checking. Int. J. Softw. Tools Technol. Transf. 6(4), 277–301 (2004)CrossRefGoogle Scholar
  11. 11.
    Gerth R., Kuiper R., Peled D., Penczek W.: A partial-order approach to branching time logic model checking. Inform. Comput. 150(2), 132–152 (1999)zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Godefroid, P.: Partial-order methods for the verification of concurrent systems: an approach to the state space explosion, LNCS 1032, Springer, Berlin (1996)Google Scholar
  13. 13.
    Godefroid, P., Wolper, P.: Using partial-orders for the efficient verification of deadlock freedom and safety properties, computer aided verification, CAV ’91, LNCS 575. Springer, Berlin, pp. 332–342 (1991)Google Scholar
  14. 14.
    Hart P.E., Nilsson N.J., Raphael B.: A formal basis for heuristic determination of minimum path costs. IEEE Trans. Syst. Sci. Cybernet. 4, 100–107 (1968)CrossRefGoogle Scholar
  15. 15.
    Holzmann G.J.: The SPIN Model Checker: Primer and Reference Manual. Addison Wesley, Reading, MA, USA (2003)Google Scholar
  16. 16.
    Holzmann, G.J., Godefroid, P., Pirottin, D.: Coverage preserving reduction strategies for reachability analysis. In: Proc. 12th IFIP WG 6.1. International Symposium on Protocol Specification, Testing, and Validation, FORTE/PSTV ’92, North-Holland, NY, USA, pp. 349–363 (1992)Google Scholar
  17. 17.
    Holzmann G.J., Peled D.: An Improvement in Formal Verification, FORTE 1994. Bern, switzerland (1994)Google Scholar
  18. 18.
    Kurshan, R.P., Levin, V., Minea, M., Peled, D., Yenigün, H.: Static partial-order reduction, tools and algorithms for construction and analysis of systems TACAS ’98, LNCS 1384, pp. 345–357 (1998)Google Scholar
  19. 19.
    Lluch Lafuente, A.: Directed Search for the verification of communication protocols. PhD Thesis, Freiburger Dokument Server, Institute of Computer Science, University of Freiburg (2003)Google Scholar
  20. 20.
    Levin, V., Palmer, R., Qadeer, S., Rajamani, S.K.: Sound transaction-based reduction without cycle detection, model checking software: 12th International SPIN Workshop, SPIN 2005, LNCS 3639. Springer, Berline, pp.~106–121 (2005)Google Scholar
  21. 21.
    Nalumasu R., Gopalakrishnan G.: An efficient partial-order reduction algorithm with an alternative proviso implementation. Formal Methods Syst. Des. 20(3), 231–247 (2002)zbMATHCrossRefGoogle Scholar
  22. 22.
    Nilsson N.J.: Principles of Artificial Intelligence. Tioga Publishing Co., Palo Alto, CA (1980)zbMATHGoogle Scholar
  23. 23.
    McVitie D.G., Wilson L.B.: The stable marriage problem. Commun. ACM 14(7), 486–490 (1971)CrossRefMathSciNetGoogle Scholar
  24. 24.
    Kamel M., Leue S.: Formalization and validation of the general inter-ORB protocol (GIOP) using PROMELA and SPIN. Int. J. Softw. Tools Technol. Transf. 2(4), 394–409 (2000)zbMATHCrossRefGoogle Scholar
  25. 25.
    Kamel, M., Leue, S.: VIP: A Visual Editor and Compiler for v-Promela, TACAS’00, pp. 471–486 (2000)Google Scholar
  26. 26.
    Overman, W.T.: Verification of concurrent systems: function and timing. Ph.D. Thesis, UCLA, Los Angeles, CA (1981)Google Scholar
  27. 27.
    Palmer, R., Gopalakrishnan, G.: A distributed partial order reduction algorithm, formal techniques for networked and distributed systems FORTE 2002, LNCS 2529, p. 370 (2002)Google Scholar
  28. 28.
    Pearl J.: Heuristics. Addison-Wesley, Reading, MA, USA (1985)Google Scholar
  29. 29.
    Peled, D.A.: Combining partial-order reductions with on-the-fly model checking. Formal Methods on Systems Design 8, pp. 39–64 (1996). A previous version appeared in Computer Aided Verification 1994, LCNS 818, pp. 377–390 (1994)Google Scholar
  30. 30.
    Willems, B., Wolper, P.: Partial-order models for model checking: from linear to branching time. In: Proc. of 11 Symposium of Logics in Computer Science, LICS 96, New Brunswick, pp. 294–303 (1996)Google Scholar
  31. 31.
    Valmari, A.: Eliminating redundant interleavings during concurrent program verification. In: Proc. of Parallel Architectures and Languages Europe ’89, vol. 2, LNCS 366. Springer, Berlin, pp. 89–103 (1989)Google Scholar
  32. 32.
    Valmari, A.: A Stubborn Attack on State Explosion, Advances in Petri Nets, LNCS 531, Springer, Berlin, pp. 156–165 (1991)Google Scholar
  33. 33.
    Valmari, A.: Stubborn set methods for process algebras. In: Proceedings of the DIMACS workshop on Partial order methods in verification (POMIV’96), AMS Press, Inc., pp. 213–231 (1997)Google Scholar
  34. 34.
    Valmari, A.: The State Explosion Problem, Lectures on Petri Nets I: Basic Models, LNCS Tutorials, LNCS 1491. Springer, Berlin, pp. 429–528 (1998)Google Scholar
  35. 35.
    Zhang, W.: Model checking operator procedures. In: 5th International SPIN Workshop, SPIN 1999, LNCS 1680, pp. 200–215 (1999)Google Scholar

Copyright information

© Springer-Verlag 2008

Authors and Affiliations

  • Dragan Bošnački
    • 1
    Email author
  • Stefan Leue
    • 2
  • Alberto Lluch Lafuente
    • 3
  1. 1.Department of Biomedical EngineeringEindhoven University of TechnologyEindhovenThe Netherlands
  2. 2.Department of Computer and Information ScienceUniversity of KonstanzConstanceGermany
  3. 3.Department of Computer ScienceUniversity of PisaPisaItaly

Personalised recommendations