Skip to main content
Log in

Cluster-Based Partial-Order Reduction

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

The verification of concurrent systems through an exhaustive traversal of the state space suffers from the infamous state-space-explosion problem, caused by the many interleavings of actions of different processes in the system. Partial-order reduction is a well-known technique to tackle this problem. In this paper, we present an enhancement of the partial-order-reduction scheme of Holzmann and Peled that uses the hierarchical structure of concurrent systems. Our technique tries to contain dependencies between actions within clusters of processes, capitalizing on the independence of actions in different clusters to reduce the state space to be verified while preserving properties of interest. The paper starts with a formalization of the partial-order-reduction technique and continues with a presentation of our enhanced technique, including a correctness argument. The new technique has been implemented in the verification tool SPIN. We present implementation details, some small experiments, and one larger case study using a cache coherency protocol. The experimental results are encouraging. Compared to standard partial-order reduction, improvements in reductions are obtained from 21% up to 98% in the number of states and 34% up to 99% in the number of state transitions.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Alur, R., Brayton, R., Henzinger, T., Qadeer, S., and Rajamani, S. 1997. Partial-order reduction in symbolic statespace exploration. In O. Grumberg, editor, Computer Aided Verification, CAV'97, Proceedings, Lecture Notes in Computer Science 1254, Springer, pp. 340–351.

  • Alur, R. and Wang, B.-Y. 1999. “Next” heuristic for on-the-fly model checking. In J. Baeten and S. Mauw, editors, Concurrency Theory, CONCUR'99, Proceedings, Lecture Notes in Computer Science 1664, Springer, pp. 98–113.

  • Basten, T. and Bošnački, D. 2001. Enhancing partial-order reduction via process clustering. In Automated Software Engineering, ASE 2001, 16th. IEEE International Conference, Proceedings, IEEE Computer Society Press, pp. 245–253.

  • Bengtsson, J., Jonsson, B., Lilius, B., and Yi, W. 1998. Partial order reductions for timed systems. In D. Sangiorgi and R. de Simone, editors, Concurrency Theory, CONCUR'98, Proceedings, Lecture Notes in Computer Science 1466, Springer, pp. 485–501.

  • Benini, L. and De Micheli, G. 2002. Networks on chip: A new SOC paradigm. IEEE Computer, 35(1):70–78.

    Google Scholar 

  • Bošnački, D. 1999. Partial order reduction in presence of rendez-vous communications with unless constructs and weak fairness. In D. Dams, R. Gerth, S. Leue, and M. Massink, editors, Theoretical and Practical Aspects of SPIN Model Checking: 5th and 6th International SPIN Workshops, Proceedings, Lecture Notes in Computer Science 1680, pp. 40–56.

  • Bošnački, D. and Dams, D. 1998. Integrating real time into Spin: A prototype implementation. In S. Budkowski, A. Cavalli, and E. Najm, editors, Formal Description Techniques and Protocol Specification, Testing and Verification, FORTE/PSTV, Proceedings. Kluwer, pp. 423–439.

  • Culler, D., Singh, J., and Gupta, A. 1999. Parallel Computer Architecture:AHardware/Software Approach.Morgan Kaufmann.

  • Dams, D., Gerth, R., Knaack, B., and Kuiper, R. 1998. Partial-order reduction techniques for real-time model checking. Formal Aspects of Computing, 10(5-6):469–482.

    Google Scholar 

  • Emerson, E., Jha, S., and Peled, D. 1997. Combining partial order and symmetry reductions. In E. Brinksma, editor, Tools and Algorithms for the Construction and Analysis of Systems, TACAS'97, Proceedings, Lecture Notes in Computer Science 1217. Springer, pp. 19–34.

  • Godefroid, P. 1996. Partial-Order Methods for the Verification of Concurrent Systems: An Approach to the State-Explosion Problem, Lecture Notes in Computer Science 1032, Springer.

  • Godefroid, P. and Wolper, P. 1991. Using partial orders for the efficient verification of deadlock freedom and safety properties. In K. Larsen and A. Skou, editors, Computer Aided Verification, CAV'91, Proceedings, Lecture Notes in Computer Science 575. Springer, pp. 332–342.

  • Holzmann, G. 1991. Design and Validation of Computer Protocols. Prentice-Hall.

  • Holzmann, G. 1997. The model checker Spin. IEEE Transactions on Software Engineering, 23(5):279–295.

    Google Scholar 

  • Holzmann, G. 1999. The engineering of a model checker: The Gnu i-Protocol case study revisited. In D. Dams, R. Gerth, S. Leue, and M. Massink, editors, Theoretical and Practical Aspects of SPIN Model Checking, Proceedings, Lecture Notes in Computer Science 1680. Springer, pp. 232–244.

  • Holzmann, G., Godefroid, P., and Pirottin, D. 1992. Coverage preserving reduction strategies for reachability analysis. In R. Linn, Jr. and M. Uyar, editors, Protocol Specification, Testing and Verification, XII, Proceedings. Elsevier, pp. 349–363.

  • Holzmann, G. and Peled, D. 1995. An improvement in formal verification. In D. Hogrefe and S. Leue, editors, Formal Descriptions Techniques VII, FORTE'94, Proceedings. Chapman & Hall, pp. 197–211.

  • Kamel, M. and Leue, S. 2000. VIP: A visual editor and compiler for v-Promela. In S. Graf and M. Schwartzbach, editors, Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2000, Proceedings, Lecture Notes in Computer Science 1785. Springer, pp. 471–486.

  • Koymans, C. and Mulder, J. 1990. A modular approach to protocol verification using process algebra. In J. Baeten, editor, Applications of Process Algebra, Cambridge Tracts in Theoretical Computer Science 17. Cambridge University Press, pp. 261–306.

  • Kunz, T. and Black, J. 1995. Using automatic process clustering for design recovery and distributed debugging. IEEE Transactions on Software Engineering, 21(6):515–527.

    Google Scholar 

  • Leue, S. and Holzmann, G. 1999. V-Promela: A visual, object-oriented language for Spin. In Object-Oriented Real-Time Distributed Computing, ISORC'99, Proceedings. IEEE Computer Society Press, pp. 14–23.

  • Manna, Z. and Pnueli, A. 1991. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer.

  • Minea, M. 1999. Partial order reduction for model checking of timed automata. In J. Baeten and S. Mauw, editors, Concurrency Theory, CONCUR'99, Proceedings, Lecture Notes in Computer Science 1664. Springer, pp. 431–446.

  • Möller, M. and Alur, R. 2001. Heuristics for hierarchical partitioning with applications to model checking. In T. Margaria and T. Melham, editors, Correct Hardware Design and Verification Methods, 11th IFIP WG 10.5 Advanced Research Working Conference, CHARME 2001, Proceedings, Lecture Notes in Computer Science 2144. Springer, pp. 71–85.

  • Nalumasu, R. and Gopalakrishan, G. 2002. An efficient partial order reduction algorithm with an alternative proviso implementation. Formal Methods in System Design, 20(3):231–247.

    Google Scholar 

  • Overman, W. 1981. Verification of concurrent systems: Function and timing. Ph.D. thesis, UCLA, Los Angeles.

    Google Scholar 

  • Peled, D. 1994. Combining partial order reductions with on-the-fly model checking. In D. Dill, editor, Computer Aided Verification, CAV'94, Proceedings, Lecture Notes in Computer Science 818. Springer, pp. 377–390. SPIN 2004. http://spinroot.com/.

  • Valmari, A. 1991. Stubborn sets for reduced state space generation. In G. Rozenberg, editor, Advances in Petri Nets 1990, Lecture Notes in Computer Science 483. Springer, pp. 491–515.

  • Valmari, A. 1992. A stubborn attack on state explosion. Formal Methods in System Design, 1:297–322.

    Google Scholar 

  • Willems, B. and Wolper, P. 1996. Partial-order methods for model checking: From linear time to branching time. In Logic in Computer Science, LICS'96, Proceedings. IEEE Computer Society Press, pp. 294–303.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Basten, T., Bošnački, D. & Geilen, M. Cluster-Based Partial-Order Reduction. Automated Software Engineering 11, 365–402 (2004). https://doi.org/10.1023/B:AUSE.0000038937.18006.3d

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:AUSE.0000038937.18006.3d

Navigation