Partial order reduction: Model-checking using representatives

  • Doron Peled
Invited Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1113)

Abstract

Partial order reductions is a family of techniques for diminishing the state-space explosion problem for model-checking concurrent programs. It is based on the observation that execution sequences of a concurrent program can be grouped together into equivalence classes that are indistinguishable by the property to be checked. Applying the reduction constructs a reduced state-space that generates at least one representative for each equivalence class. This paper surveys some algorithms for partial order model-checking. The presentation focuses on the verification using representatives approach. The reduction approach is extended to branching specifications.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    R. Alur, D. Peled, W. Penczek, Model-Checking of Causality Properties, 10th Symposium on Logic in Computer Science, IEEE, 1995, San Diego, California, USA, 90–100.Google Scholar
  2. [2]
    M.C. Browne, E.M. Clarke, O. Grümberg, Characterizing Finite Kripke Structures in Propositional Temporal Logic, Theoretical Computer Science 59 (1988), Elsevier, 115–131.Google Scholar
  3. [3]
    J.R. Burch, E.M. Clarke, K.L. McMillan, D.L. Dill, J. Hwang, Symbolic model checking: 1020 states and beyond, 5th Annual IEEE Symposium on Logic in Computer Science, 1990, 428–439.Google Scholar
  4. [4]
    C.T. Chou, D. Peled, Verifying a Model-Checking Algorithm, Tools and Algorithms for the Construction and Analysis of Systems, LNCS 1055, Springer-Verlag, 1996, Passau, Germany, to appear March 1996, 241–257.Google Scholar
  5. [5]
    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, 8(1986), 244–263.CrossRefGoogle Scholar
  6. [6]
    E.M. Clarke, A.P. Sistla, Symmetry and model checking, 5th International Conference on Computer-Aided Verification, 1993.Google Scholar
  7. [7]
    C. Courcoubetis, M. Vardi, P. Wolper, M, Yannakakis, Memory-efficient algorithms for the verification of temporal properties, Formal methods in system design 1 (1992) 275–288.CrossRefGoogle Scholar
  8. [8]
    V. Diekert, P. Gastin, A. Petit, Rational and Recognizable Trace Languages, Information and Computation, 116(1995), 134–153.Google Scholar
  9. [9]
    R. Gerth, R. Kuiper, W. Penczek, D. Peled, A Partial Order Approach to Branching Time Logic Model Checking, ISTCS '95, 3rd Israel Symposium on Theory on Computing and Systems, IEEE press, 1995, Tel Aviv, Israel, 130–139.Google Scholar
  10. [10]
    R. Gerth, D. Peled, M.Y. Vardi, P. Wolper, Simple On-the-fly Automatic Verification of Linear Temporal Logic, PSTV95, Protocol Specification Testing and Verification, 3–18, Chapman & Hall, 1995, Warsaw, Poland.Google Scholar
  11. [11]
    P. Godefroid. Using partial orders to improve automatic verification methods. In Proc. 2nd Workshop on Computer Aided Verification, LNCS 531, Springer-Verlag, New Brunswick, NJ, 1990, 176–185.Google Scholar
  12. [12]
    P. Godefroid, D. Pirottin, Refining dependencies improves partial order verification methods, 5th Conference on Computer Aided Verification, LNCS 697, Elounda, Greece, 1993, 438–449.Google Scholar
  13. [13]
    P. Godefroid, D. Peled, M. Staskauskas, Using Partial Order Methods in the Formal Validation of Industrial Concurrent Programs, 1996, ISSTA'96, International Symposium on Software Testing and Analysis, ACM Press, San Diego, California, USA, 261–269.Google Scholar
  14. [14]
    P. Godefroid, P. Wolper, A Partial Approach to Model Checking, 6th Annual IEEE Symposium on Logic in Computer Science, 1991, Amsterdam, 406–415.Google Scholar
  15. [15]
    M.J.C. Gordon, T.F. Melham, Introduction to HOL: A Theorem-Proving Environment for Higher-Order Logic, Cambridge University Press, 1993.Google Scholar
  16. [16]
    G. J. Holzmann, Design and Validation of Computer Protocols, Prentice Hall Software Series, 1992.Google Scholar
  17. [17]
    G.J. Holzmann, D. Peled, An Improvement in Formal Verification, 7th International Conference on Formal Description Techniques, Berne, Switzerland, 1994, 177–194.Google Scholar
  18. [18]
    G.J. Holzmann, D. Peled, M. Yannakakis, On Nested Depth First Search, in preparation.Google Scholar
  19. [19]
    S. Katz, D. Peled, Verification of Distributed Programs using Representative Interleaving Sequences, Distributed Computing 6 (1992), 107–120. A preliminary version appeared in Temporal Logic in Specification, UK, 1987, LNCS 398,21–43.Google Scholar
  20. [20]
    S. Katz, D. Peled, Defining conditional independence using collapses, Theoretical Computer Science 101 (1992), 337–359, a preliminary version appeared in BCS-FACS Workshop on Semantics for Concurrency, Leicester, England, July 1990, Springer, 262–280.CrossRefGoogle Scholar
  21. [21]
    M. Z. Kwiatkowska, Event Fairness and Non-Interleaving Concurrency, Formal Aspects of Computing 1 (1989), 213–228.CrossRefGoogle Scholar
  22. [22]
    L. Lamport, What good is temporal logic, Information Processing 83, Elsevier Science Publishers, 1983, 657–668.Google Scholar
  23. [23]
    O. Lichtenstein, A. Pnueli, Checking that finite-state concurrent programs satisfy their linear specification, 11th Annual ACM Symposium on Principles of Programming Languages, 1984, 97–107.Google Scholar
  24. [24]
    A. Mazurkiewicz, Trace Theory, Advances in Petri Nets 1986, Bad Honnef, Germany, LNCS 255, Springer, 1987, 279–324.Google Scholar
  25. [25]
    R. Milner, A Calculus of Communicating System, LNCS, Springer-Verlag, 92.Google Scholar
  26. [26]
    D. Peled, A. Pnueli, Proving Partial Order Properties, Theoretical Computer Science, 126(1994), 143–182.CrossRefGoogle Scholar
  27. [27]
    D. Peled, All from one, one for all, on model-checking using representatives, 5th Conference on Computer Aided Verification, Greece, 1993, LNCS, Springer, 409–423.Google Scholar
  28. [28]
    D. Peled. Combining partial order reductions with on-the-fly model-checking. Formal Methods in System Design 8 (1996), 39–64.CrossRefGoogle Scholar
  29. [29]
    D. Peled, Th. Wilke, P. Wolper, An Algorithmic Approach for Checking Closure Properties of ω-Regular Languages, submitted.Google Scholar
  30. [30]
    A. Pnueli, The temporal logic of programs, 18th FOCS, IEEE Symposium on Foundation of Computer Science, 1977, 46–57.Google Scholar
  31. [31]
    A. Valmari, Stubborn sets for reduced state space generation, 10 th International Conference on Application and Theory of Petri Nets, Vol. 2, Bonn, Germany, 1989, 1–22.Google Scholar
  32. [32]
    A. Valmari, A stubborn attack on state explosion. Formal Methods in System Design, 1 (1992), 297–322.CrossRefGoogle Scholar
  33. [33]
    A.P. Sistla, M.Y. Vardi, P. Wolper, The Complementation Problem for Büchi Automata with Applications to Temporal Logic, Theoretical Computer Science, 49 (1987), 217–237.CrossRefGoogle Scholar
  34. [34]
    P.S. Thiagarajan, A Trace Based Extension of Linear Time Temporal Logic. Proc. 10th IEEE Conference on Logic In Computer Science, 1994, 438–447.Google Scholar
  35. [35]
    M.Y. Vardi, P. Wolper, An automata-theoretic approach to automatic program verification, 1st Annual IEEE Symposium on Logic in Computer Science, 1986, Cambridge, England, 322–331.Google Scholar

Copyright information

© Springer-Verlag 1996

Authors and Affiliations

  • Doron Peled
    • 1
  1. 1.Bell LaboratoriesMurray Hill

Personalised recommendations