Advertisement

Formal Methods in System Design

, Volume 2, Issue 2, pp 149–164 | Cite as

Using partial orders for the efficient verification of deadlock freedom and safety properties

  • Patrice Godefroid
  • Pierre Wolper
Article

Abstract

This article presents an algorithm for detecting deadlocks in concurrent finite-state systems without incurring most of the state explosion due to the modeling of concurrency by interleaving. For systems that have a high level of concurrency, our algorithm can be much more efficient than the classical exploration of the whole state space. Finally, we show that our algorithm can also be used for verifying arbitrary safety properties.

Keywords

verification concurrent programming state-space exploration deadlock detection state-space explosion 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    Z. Manna and A. Pnueli. Adequate proof principles for invariance and liveness properties of concurrent programs.Science of Computer Programming, 4:257–289 (1984).Google Scholar
  2. [2]
    S. Owicki and L. Lamport. Proving liveness properties of concurrent programs.ACM Transactions on Programming Languages and Systems, 4(3):455–495 (July 1982).Google Scholar
  3. [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, 8(2):244–263 (January 1986).Google Scholar
  4. [4]
    O. Lichtenstein and A. Pnueli. Checking that finite state concurrent programs satisfy their linear specification. InProceedings of the Twelfth ACM Symposium on Principles of Programming Languages, pp. 97–107, New Orleans, January 1985.Google Scholar
  5. [5]
    J.P. Queille and J. Sifakis. Specification and verification of concurrent systems in Cesar. InProceedings of the 5th International Symposium on Programming. Lecture Notes in Computer Science, 137:337–351 (1981).Google Scholar
  6. [6]
    M.Y. Vardi and P. Wolper. An automata-theoretic approach to automatic program verification. InProceedings of the symposium on Logic in Computer Science, pp. 322–331, Cambridge, June 1986.Google Scholar
  7. [7]
    A. Bouajjani, J.-C. Fernandez, S. Graf, C. Rodriguez, and J. Sifakis. Safety for branching semantics. InProceedings of the 12th International Colloquium on Automata, Language and Programming. Lecture Notes in Computer Science, (1991).Google Scholar
  8. [8]
    A. Bouajjani, J.C. Fernandez, and N. Halbwachs. On the verification of safety properties. Technical Report SPECTRE L12, IMAG, Grenoble, March 1990.Google Scholar
  9. [9]
    C. Jard and T. Jeron. On-line model-checking for finite linear temporal logic specifications. InAutomatic Verification Methods for Finite State Systems, Proceedings of an International Workshop, Grenoble. Lecture Notes in Computer Science, 407:189–196 (1989).Google Scholar
  10. [10]
    J.R. Büchi. On a decision method in restricted second order arithmetic. InProceedings of the International Congress on Logic, Method and Philosophy of Science 1960. Stanford: Stanford University Press, 1962, pp. 1–12.Google Scholar
  11. [11]
    M.O. Rabin. Decidability of second order theories and automata on infinite trees.Transactions of the AMS, 141:1–35 (1969).Google Scholar
  12. [12]
    Shmuel Safra. On the complexity of omega-automata. InProceedings of the 29th IEEE Symposium on Foundations of Computer Science, White Plains (October 1988).Google Scholar
  13. [13]
    A.P. Sistla, M.Y. Vardi, and P. Wolper. The complementation problem for Büchi automata with applications to temporal logic.Theoretical Computer Science, 49:217–237 (1987).Google Scholar
  14. [14]
    P. Godefroid and P. Wolper. A partial approach to model checking. InProceedings of the 6th Symposium on Logic in Computer Science, pp. 406–415, Amsterdam, July 1991.Google Scholar
  15. [15]
    A. Valmari. A stubborn attack on state explosion. InProceedings of the 2nd Workshop on Computer Aided Verification. Lecture Notes in Computer Science, 531:156–165 (1990).Google Scholar
  16. [16]
    P. Godefroid. Using partial orders to improve automatic verification methods. InProceedings of the 2nd Workshop on Computer Aided Verification. Lecture Notes in Computer Science, 531:176–185 (1990).Google Scholar
  17. [17]
    D.K. Probst and H.F. Li. Using partial-order semantics to avoid the state explosion problem in asynchronous systems. InProceedings of the 2nd Workshop on Computer Aided Verification. Lecture Notes in Computer Science, 531:146–155 (1990).Google Scholar
  18. [18]
    A. Valmari. Stubborn sets for reduced state space generation. InProceedings of the 10th International Conference on Application and Theory of Petri Nets, vol. 2, pp. 1–22, Bonn, 1989.Google Scholar
  19. [19]
    A. Mazurkiewcz. Trace theory. InPetri Nets: Applications and Relationships to Other Models of Concurrency, Advances in Petri Nets 1986, Part II; Proceedings of an Advanced Course. Lecture Notes in Computer Science, 255:279–324 (1986).Google Scholar
  20. [20]
    A. Valmari. Error detection by reduced reachability graph detection. InProceedings of the 9th European Workshop on Application and Theory of Petri Nets, pp. 95–112, Venice, 1988.Google Scholar
  21. [21]
    C. Courcoubetis, M. Vardi, P. Wolper, and M. Yannakakis. Memory efficient algorithms for the verification of temporal properties. InProceedings of the 2nd Workshop on Computer Aided Verification. Lecture Notes in Computer Science, 531:233–242 (1990).Google Scholar
  22. [22]
    N. Halbwachs, D. Pilaud, F. Ouabdesselam, and A.C. Glory. Specifying, programming and verifying real-time systems, using a synchronous declarative language. InWorkshop on Automatic Verification Methods for Finite State Systems. Lecture Notes in Computer Science, 407:213–231 (1989).Google Scholar
  23. [23]
    J.C. Fernandez and L. Mounier. On the fly verification of behavioural equivalences and preorders. InProceedings of the 3rd Workshop on Computer Aided Verification. Lecture Notes in Computer Science, 575:181–191, (1991).Google Scholar
  24. [24]
    C. Jard and T. Jeron. Bounded-memory algorithms for verification on the fly. InProceedings of the 3rd Workshop on Computer Aided Verification. Lecture Notes in Computer Science, 575:192–202 (1991).Google Scholar
  25. [25]
    H. Gaifman. Modeling concurrency by partial orders and nonlinear transition systems. InLinear Time, Branching Time and Partial Order in Logics and Models for Concurrency. Lecture Notes in Computer Science, 354:467–488 (1988).Google Scholar
  26. [26]
    W. Reisig.Petri Nets: An Introduction. EATCS Monographs on Theoretical Computer Science, Springer-Verlag, 1985.Google Scholar
  27. [27]
    S. Graf and B. Steffen. Using interface specifications for compositional reduction. InProceedings of the 2nd Workshop on Computer Aided Verification. Lecture Notes in Computer Science, 531:186–196 (1990).Google Scholar
  28. [28]
    B. Alpern and F.B. Schneider. Recognizing safety and liveness.Distributed Computing, 2:117–126 (1987).Google Scholar
  29. [29]
    G. Holzmann. An improved protocol reachability analysis technique.Software Practice and Experience, 18(2):137–161 (February 1988).Google Scholar
  30. [30]
    G. Holzmann.Design and Validation of Computer Protocols. Englewood Cliffs, NJ: Prentice-Hall International Editions, 1991.Google Scholar
  31. [31]
    G.J. Holzmann, P. Godefroid, and D. Pirottin. Coverage preserving reduction strategies for reachability analysis. InProceedings of the 12th International Symposium on Protocol Specification, Testing, and Verification, Lake Buena Vista, Florida. North-Holland, Amsterdam, 1992.Google Scholar
  32. [32]
    P. Godefroid, G.J. Holzmann, and D. Pirottin. State space caching revisited. InProceedings of the 4th Workshop on Computer Aided Verification, Montreal, June 1992.Google Scholar
  33. [33]
    P. Godefroid and F. Kabanza. An efficient reactive planner for synthesizing reactive plans. InProceedings of AAAI-91, Vol. 2, pp. 640–645, Anaheim, July 1991.Google Scholar
  34. [34]
    P. Godefroid and P. Wolper. Using partial orders for the efficient verification of deadlock freedom and safety properties. InProceedings of the 3rd Workshop on Computer Aided Verification. Lecture Notes in Computer Science, 575:332–342 (1991).Google Scholar

Copyright information

© Kluwer Academic Publishers 1993

Authors and Affiliations

  • Patrice Godefroid
    • 1
  • Pierre Wolper
    • 1
  1. 1.Institut Montefiore, B28Université de LiègeLiège Sart-TilmanBelgium

Personalised recommendations