Skip to main content
Log in

An Efficient Partial Order Reduction Algorithm with an Alternative Proviso Implementation

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

This paper presents a partial order reduction algorithm called Twophase that generates a significantly reduced state space on a large class of practical protocols over alternative algorithms in its class. The reduced state-space generated by Twophase preserves all CTL*-X assertions. Twophase achieves this reduction by following an alternative implementation of the proviso step. In particular, Twophase avoids the in-stack check that other tools use in order to realize the proviso step. In this paper, we demonstrate that the in-stack check is inefficient in practice, and demonstrate a much simpler alternative method of realizing the proviso. Twophase can be easily combined with an on-the-fly model-checking algorithm to reduce memory requirements further. A simple but powerful selective caching scheme can also be easily added to Twophase.

A version of Twophase using on-the-fly model-checking and selective caching has been implemented in a model-checker called PV (Protocol Verifier) and is in routine use on large problems. PV accepts a proper subset of Promela and a never automaton expressing the LTL-X assertion to be verified. PV has helped us complete full state-space search several orders of magnitude faster than all alternative tools available in its class on dozens of real protocols. PV has helped us detect bugs in real Distributed Shared Memory cache coherency protocols that were missed during incomplete search using alternate tools.

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.

Institutional subscriptions

Similar content being viewed by others

References

  1. R. Alur, R.K. Brayton, T.A. Henzinger, and S. Qadeer, “Partial-order reduction in symbolic state space exploration,” in Lecture Notes in Computer Science, Vol. 254, 1997.

  2. W.R. Bryg, K.K. Chan, and N.S. Fiduccia, “Ahigh-performance, low-cost multiprocessor bus forworkstations and midrange servers,” Hewlett-Packard Journal, Vol. 47, No. 1, pp. 18-24, 1996.

    Google Scholar 

  3. J.B. Carter, C.-C. Kuo, and R. Kuramkote, “AComparison of Software and Hardware Synchronization Mechanisms for Distributed Shared Memory Multiprocessors,” Technical Report UUCS-96-011, University of Utah, UT, 1996.

    Google Scholar 

  4. E.M. Clarke, E.A. Emerson, and A.P. Sistla, “Automatic verification of finite-state concurrent systems using temporal logic specifications,” ACM Transactions on Programming Languages and Systems, Vol. 8, No. 2, pp. 244-263, 1986.

    Google Scholar 

  5. W.W. Collier, Reasoning About Parallel Architectures, Prentice-Hall, Englewood Cliffs, NJ, 1992.

    Google Scholar 

  6. C. Courcoubetis, M. Vardi, P. Wolper, and M. Yannakakis, “Memory efficient algorithms for the verification of temporal properties,” in Computer Aided Verification, 1990, pp. 233-242.

  7. D. Dill, “The stanford murphi verifier,” in R. Alur and T.A. Henzinger (Eds.), Computer Aided Verification, Lecture Notes in Computer Science, Vol. 1102.

  8. D.L. Dill, S. Park, and A. Nowatzyk, “Formal specification of abstract memory models,” in G. Borriello and C. Ebeling (Eds.), Research on Integrated Systems, MIT Press, Cambridge, MA, 1993, pp. 38-52.

    Google Scholar 

  9. R. Gerth, R. Kuiper, W. Penczek, and D. Peled, “A partial order approach to branching time logic model checking,” in ISTCS'95, 3rd Israel Symposium on Theory of Computing and Systems, Tel Aviv, Israel, IEEE Press, 1995, pp. 130-139.

    Google Scholar 

  10. R. Ghughal, A. Mokkedem, R. Nalumasu, and G. Gopalakrishnan, “Using ‘test model-checking’ to verify the runway-pa8000 memory model,” in Tenth Annual ACMSymposium on Parallel Algorithms and Architectures, Puerto Vallarta, Mexico, ACM Press, 1998. Program Chair: Phillip B. Gibbons.

    Google Scholar 

  11. P. Godefroid, “Partial-order methods for the verification of concurrent systems: An approach to the stateexplosion problem,” Ph.D. Thesis, Univerite De Liege, 1994-95.

  12. P. Godefroid and D. Pirottin, “Refining dependencies improves partial-order verification methods,” in Computer Aided Verification, Elounda, Greece, 1993, pp. 438-450.

  13. P. Godefroid and P. Wolper, “Using partial orders for the efficient verification of deadlock freedom and safety properties,” in K.G. Larsen and A. Skou (Eds.), Computer Aided Verification, LNCS, Vol. 575, Springer, Berlin, 1992, pp. 332-342.

    Google Scholar 

  14. G. Gopalakrishnan, R. Ghughal, R. Hosabettu, A. Mokkedem, and R. Nalumasu, “Formal modeling and validation applied to a commercial coherent bus: A case study,” in H.F. Li and D.K. Probst (Eds.), CHARME, Montreal, Canada, 1997.

  15. G. Holzmann, Design and Validation of Computer Protocols, Prentice-Hall, Englewood Cliffs, NJ, 1991.

    Google Scholar 

  16. G.J. Holzmann, “The model checker SPIN,” IEEE Transactions on Software Engineering, Vol. 23, No. 5, pp. 279-295, 1997. Special issue on Formal Methods in Software Practice.

    Google Scholar 

  17. G. Holzmann, P. Godefroid, and D. Pirottin, “Coverage preserving reduction strategies for reachability analysis,” in International Symposium on Protocol Specification, Testing, and Verification, Lake Buena Vista, FL, 1992.

  18. G. Holzmann and D. Peled, “An improvement in formal verification,” in Proceedings of Formal Description Techniques, Bern, Switzerland, 1994.

  19. G.J. Holzmann and D. Peled, “The state of Spin,” in R. Alur and T.A. Henzinger (Eds.), Computer Aided Verification, Lecture Notes in Computer Science, Vol. 1102, New Brunswick, New Jersey, Springer-Verlag, Berlin.

  20. G.J. Holzmann, D. Peled, and M. Yannakakis, “On nested depth first search,” in The Spin Verification System, Proc. of the Second Spin Workshop, American Mathematical Society, 1996.

  21. R.P. Kurshan, Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach, Princeton University Press, 1994.

  22. R.P. Kurshan, V. Levin, M. Minea, D. Peled, and H. Yenigun, “Verifying hardware in its software context,” in International Conference on Computer Aided Design, San Jose, CA, USA, 1997.

  23. R.J. Lipton, “Reduction: A method of proving properties of parallel programs,” CACM, Vol. 18, No. 12, pp. 717-721, 1975.

    Google Scholar 

  24. R. Nalumasu, “Formal design and verification methods for shared memory systems,” Ph.D. Thesis, University of Utah, UT, 1998.

    Google Scholar 

  25. R. Nalumasu, R. Ghughal, A. Mokkedem, and G. Gopalakrishnan, “The ‘test model-checking’ approach to the verification of formal memory models of multiprocessors,” in A.J. Hu and M.Y. Vardi (Eds.), Computer Aided Verification, Lecture Notes in Computer Science, Vol. 1427, Vancouver, BC, Springer-Verlag, Berlin, 1998, pp. 464-476.

    Google Scholar 

  26. R. Nalumasu and G. Gopalakrishnan, “Partial Order ReductionWithout the Proviso,” Technical Report UUCS-96-008, Department of Computer Science, University of Utah, 1996. Available online through NCSTRL.

  27. R. Nalumasu and G. Gopalakrishnan, “A new partial order reduction algorithm for concurrent system verification,” in CHDL, Toledo, Spain, Chapman & Hall, 1997, pp. 305-314.

    Google Scholar 

  28. R. Nalumasu and G. Gopalakrishnan, “PV: A model-checker for verifying ltl-x properties,” in Fourth NASA Langley Formal Methods Workshop, NASA Conference Publication 3356, 1997, pp. 153-161.

  29. R. Nalumasu and G. Gopalakrishnan, “A Partial Order Reduction AlgorithmWithout the Proviso,” Technical Report UUCS-98-017, University of Utah, UT, 1998.

    Google Scholar 

  30. R. Nalumasu and G. Gopalakrishnan, “PV: An explicit enumeration model-checker,” in G. Gopalakrishnan and P. Windley (Eds.), Formal Methods in Computer Aided Design, Lecture Notes in Computer Science, Vol. 1522, Palo Alto, CA, Springer-Verlag, Berlin, 1998, pp. 522-528.

    Google Scholar 

  31. R. Nalumasu and R.P. Kurshan, “Translation Between S/R and Promela,” Technical Report ITD-95-27619V, Bell Labs, 1995.

  32. D. Peled, “All from one, one for all: On model checking using representatives,” in Computer Aided Verification, Elounda, Greece, 1993, pp. 409-423.

  33. D. Peled, “Combining partial order reductions with on-the-fly model-checking,” Journal of Formal Methods in Systems Design, Vol. 8, No. 1, 1996, pp. 39-64. Also in Computer Aided Verification, 1994.

    Google Scholar 

  34. D. Peled, “Partial order reduction: Linear and branching temporal logics and process algebras,” in Partial Order Methods in Verification; DIMACS Workshop, Series in Discrete Mathematics and Theoretical Computer Science, Vol. 29, American Mathematical Society, 1996, pp. 233-258.

    Google Scholar 

  35. R. Tarjan, “Depth-first search and linear graph algorithms,” SIAM Journal on Computing, Vol. 1, No. 2, pp. 146-160, 1972.

    Google Scholar 

  36. A. Valmari, “A stubborn attack on state explosion,” Journal of Formal Methods in Systems Design, Vol. 1, pp. 297-322, 1992. Also in Computer Aided Verification, 1990.

    Google Scholar 

  37. A. Valmari, “On-the-fly verification with stubborn sets,” in Computer Aided Verification, Elounda, Greece, 1993, pp. 397-408.

  38. A. Valmari, “Stubborn set methods for process algebras,” in Partial Order Methods in Verification; DIMACS Workshop, Series in Discrete Mathematics and Theoretical Computer Science, Vol. 29, American Mathematical Society, 1996, pp. 213-232.

    Google Scholar 

  39. J. van Leeuwen (Ed.), Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics, Elsevier/ MIT Press, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Nalumasu, R., Gopalakrishnan, G. An Efficient Partial Order Reduction Algorithm with an Alternative Proviso Implementation. Formal Methods in System Design 20, 231–247 (2002). https://doi.org/10.1023/A:1014728912264

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1014728912264

Navigation