Skip to main content
Log in

Combining partial order reductions with on-the-fly model-checking

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

Abstract

Partial order model-checking is an approach to reduce time and memory in model-checking concurrent programs. On-the-fly model-checking is a technique to eliminate part of the search by intersecting an automaton representing the (negation of the) checked property with the state during its generation. We prove conditions under which these two methods can be combined in order to gain reduction from both. An extension of the model-checker SPIN, which implements this combination, is studied, showing substantial reduction over traditional search, not only in the number of reachable states, but directly in the amount of memory and time used. We also describe how to apply partial-order model-checking under given fairness assumptions.

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. S. Aggarwal, C. Courcoubetis, and P. Wolper, “Adding Liveness Properties to Coupled Finite State Machines,” ACM Transactions on Programming Languages and Systems, Vol. 12, pp. 303–339, 1990.

    Google Scholar 

  2. K. Apt, N. Francez, and S. Katz, “Appraising fairness in languages for distributed programming,” Distributed Computing, Vol. 2, pp. 226–241, 1988.

    Google Scholar 

  3. 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, pp. 244–263, 1986.

    Google Scholar 

  4. J.R. Büchi, “On a decision method in restricted second order arithmetic,” in E. Nagel et al. (Eds.), Proceeding of the International Congress on Logic, Methodology and Philosophy of Science, Stanford, CA, Stanford University Press, pp. 1–11, 1960.

    Google Scholar 

  5. C. Courcoubetis, M. Vardi, P. Wolper, and M. Yannakakis, “Memory-efficient algorithms for the verification of temporal properties,” Formal Methods in System Design, Vol. 1, pp. 275–288, 1992.

    Google Scholar 

  6. J.C. Fernandez, L. Mounier, C. Jard, and T. Jeron, “On-the-fly verification of finite transition systems,” Formal Methods in System Design, Kluwer, Vol. 1, pp. 251–273, 1992.

  7. P. Godefroid, “Using partial orders to improve automatic verification methods,” in E.M. Clarke and R.P. Kurshan (Eds.), Computer Aided Verification 1990, DIMACS, Vol. 3, pp. 321–339, 1991.

  8. P. Godefroid and D. Pirottin, “Refining Dependencies Improves Partial-Order Verification Methods,” 5th International Conference on Computer Aided Verification, Elounda, Greece. Lecture Notes in Computer Science 697, Springer-Verlag, 1993, pp. 438–449.

  9. P. Godefroid and P. Wolper, “A Partial Approach to Model Checking,” 6th LICS, Amsterdam, pp. 406–415. Also in Information and Computation, Vol. 110, No. 2, pp. 305–326, 1991.

  10. G.J. Holzmann, Design and Validation of Computer Protocols, Prentice Hall Software Series, 1992.

  11. G.J. Holzmann, P. Godefroid, and D. Pirottin, “Coverage preserving reduction strategies for reachability analysis,” Proc. IFIP, Symp. on Protocol Specification, Testing, and Verification, Orlando, U.S.A., June 1992, pp. 349–364.

  12. G.J. Holzmann and D. Peled, “An Improvement in Formal Verification,” 7th International Conference on Formal Description Techniques, Berne, Switzerland, 1994, pp. 177–194.

  13. S. Katz and D. Peled, “Verification of distributed programs using representative interleaving sequences,” Distributed Computing, Vol. 6, pp. 107–120, 1992. A preliminary version, titled An Efficient Verification Method for Parallel and Distributed Programs, appeared in: Workshop on Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, Noordwijkerhout, The Netherlands, May/June 1988, Lecture Notes in Computer Science, Springer, Vol. 354, pp. 489–507.

  14. S. Katz and D. Peled, “Defining conditional independence using collapses,” Theoretical Computer Science, Vol. 101, pp. 337–359, 1992. A preliminary version appeared in BCS-FACS Workshop on Semantics for Concurrency, Leicester, England, July 1990, Springer, pp. 262–280.

    Google Scholar 

  15. R.P. Kurshan, “Reducibility in analysis of coordination,” Lecture Notes in Communication and Information, Springer, Vol. 103, pp. 19–39, 1987.

  16. M.Z. Kwiatkowska, “Event Fairness and Non-Interleaving Concurrency,” Formal Aspects of Computing, Vol. 1, pp. 213–228, 1989.

    Google Scholar 

  17. L. Lamport, “What good is temporal logic,” IFIP Congress, North Holland, 1983, pp. 657–668, in Computer Science 115.

  18. O. Lichtenstein and A. Pnueli, “Checking that finite-state concurrent programs satisfy their linear specification,” 11th ACM POPL, pp. 97–107, 1984.

  19. Z. Manna and A. Pnueli, “How to cook a temporal proof system for your pet language,” 9th ACM Symposium on Principles on Programming Languages, Austin, Texas, 1983, pp. 141–151.

  20. A. Mazurkiewicz, Trace Theory, in Advances in Petri Nets 1986, W. Brauer, W. Reisig, and G. Rozenberg (Eds.), Bad Honnef, Germany, Lecture Notes in Computer Science 255, Springer, 1987, pp. 279–324.

    Google Scholar 

  21. D. Peled and A. Pnueli, “Proving partial order properties,” Theoretical Computer Science, Vol. 126, pp. 143–182, 1994.

    Google Scholar 

  22. D. Peled, “All from one, one for all, on model-checking using representatives,” 5th International Conference on Computer Aided Verification, Greece, 1993. Lecture Notes in Computer Science, Springer, pp. 409–423.

  23. R.S. Street, “Propositional Dynamic Logic of Looping and Converse,” Information and Control, Vol. 54, pp. 121–141, 1982.

    Google Scholar 

  24. A. Valmari, “Stubborn sets for reduced state space generation,” 10th International Conference on Application and Theory of Petri Nets, Bonn, Vol. 2, pp. 1–22, 1989.

    Google Scholar 

  25. A. Valmari, “A Stubborn attack on state explosion,” in E.M. Clarke and R.P. Kurshan (Eds.), CAV'90, DIMACS. Vol. 3, pp. 25–42, 1991.

  26. A. Valmari, “On-The-Fly Verification of Stubborn Sets,” 5th CAV, Greece, 1993. Lecture Notes in Computer Science, Springer, Vol. 697, pp. 397–408.

  27. P. Wolper, M.Y. Vardi, and A.P. Sistla, “Reasoning about infinite computation paths,” Proceedings of 24th IEEE Symposium on Foundation of Computer Science, Tuscan, 1983, pp. 185–194.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Peled, D. Combining partial order reductions with on-the-fly model-checking. Form Method Syst Des 8, 39–64 (1996). https://doi.org/10.1007/BF00121262

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00121262

Keywords

Navigation