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.
Similar content being viewed by others
References
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.
K. Apt, N. Francez, and S. Katz, “Appraising fairness in languages for distributed programming,” Distributed Computing, Vol. 2, pp. 226–241, 1988.
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.
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.
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.
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.
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.
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.
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.
G.J. Holzmann, Design and Validation of Computer Protocols, Prentice Hall Software Series, 1992.
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.
G.J. Holzmann and D. Peled, “An Improvement in Formal Verification,” 7th International Conference on Formal Description Techniques, Berne, Switzerland, 1994, pp. 177–194.
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.
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.
R.P. Kurshan, “Reducibility in analysis of coordination,” Lecture Notes in Communication and Information, Springer, Vol. 103, pp. 19–39, 1987.
M.Z. Kwiatkowska, “Event Fairness and Non-Interleaving Concurrency,” Formal Aspects of Computing, Vol. 1, pp. 213–228, 1989.
L. Lamport, “What good is temporal logic,” IFIP Congress, North Holland, 1983, pp. 657–668, in Computer Science 115.
O. Lichtenstein and A. Pnueli, “Checking that finite-state concurrent programs satisfy their linear specification,” 11th ACM POPL, pp. 97–107, 1984.
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.
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.
D. Peled and A. Pnueli, “Proving partial order properties,” Theoretical Computer Science, Vol. 126, pp. 143–182, 1994.
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.
R.S. Street, “Propositional Dynamic Logic of Looping and Converse,” Information and Control, Vol. 54, pp. 121–141, 1982.
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.
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.
A. Valmari, “On-The-Fly Verification of Stubborn Sets,” 5th CAV, Greece, 1993. Lecture Notes in Computer Science, Springer, Vol. 697, pp. 397–408.
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.
Author information
Authors and Affiliations
Rights 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
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF00121262