Abstraction-Based Model Checking Using Modal Transition Systems

  • Patrice Godefroid
  • Michael Huth
  • Radha Jagadeesan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2154)


We present a framework for automatic program abstraction that can be used for model checking any formula of the modal mu-calculus. Unlike traditional conservative abstractions which can only prove universal properties, our framework can both prove and disprove any formula including arbitrarily nested path quantifiers. We discuss algorithms for automatically generating an abstract Modal Transition System (MTS) by adapting existing predicate and cartesian abstraction techniques. We show that model checking arbitrary formulas using abstract MTSs can be done at the same computational cost as model checking universal formulas using conservative abstractions.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    T. Ball, A. Podelski, and S. K. Rajamani. Boolean and Cartesian Abstraction for Model Checking C Programs. In T. Margaria and W. Yi, editors, Proceedings of TACAS’2001, volume 2031 of LNCS, pages 268–283, Genova, Italy, April 2001. Springer Verlag.Google Scholar
  2. 2.
    T. Ball and S. K. Rajamani. Bebop: A symbolic model checker for boolean programs. In Proceedings of the Seventh International SPIN Workshop (SPIN 2000), volume 1885, pages 113–130. Springer Verlag, 2000.Google Scholar
  3. 3.
    S. Bensalem, Y. Lakhnech, and S. Owre. Computing abstractions on infinite state systems compositionally and automatically. In A. J. Hu and M. Vardi, editors, Computer Aided Verification (CAV’ 98), volume 1427, pages 319–331, Vancouver, Canada, 1998. Springer Verlag.Google Scholar
  4. 4.
    G. Bruns and P. Godefroid. Model Checking Partial State Spaces with 3-Valued Temporal Logics. In Proceedings of the 11th Conference on Computer Aided Verification, volume 1633 of Lecture Notes in Computer Science, pages 274–287. Springer Verlag, July 1999.CrossRefGoogle Scholar
  5. 5.
    G. Bruns and P. Godefroid. Generalized Model Checking: Reasoning about Partial State Spaces. In Proceedings of CONCUR’2000 (11th International Conference on Concurrency Theory), volume 1877 of Lecture Notes in Computer Science, pages 168–182. Springer Verlag, August 2000.Google Scholar
  6. 6.
    R. R. Bryant. Symbolic Boolean Manipulation with Ordered Binary-Decision Diagrams. ACM Computing Surveys, 24(3):293–318, September 1992.Google Scholar
  7. 7.
    E. M. Clarke, O. Grumberg, and D. E. Long. Model checking and abstraction. ACM Transactions on Programming Languages and Systems, 16(5):1512–1542, 1994.CrossRefGoogle Scholar
  8. 8.
    R. Cleaveland, P. Iyer, and D. Yankelevich. Optimality in abstractions of model checking. In SAS’95: Proc. 2d. Static Analysis Symposium, Lecture Notes in Computer Science 983, pages 51–63. Springer, 1995.Google Scholar
  9. 9.
    J. C. Corbett, M. B. Dwyer, J. Hatcliff, S. Laubach, C. S. Pasareanu, Robby, and H. Zheng. Bandera: Extracting Finite-state Models from Java Source Code. In Proceedings of the 22nd Intl’ Conference on Software Engineering, June 2000.Google Scholar
  10. 10.
    P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs. In Proc. 4th ACM Symp. on Principles of Programming Languages, pages 238–252. ACM Press, 1977.Google Scholar
  11. 11.
    P. Cousot and R. Cousot. Temporal abstract interpretation. In Conference Record of the 27th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 12–25, Boston, Mass., January 2000. ACM Press, New York, NY.CrossRefGoogle Scholar
  12. 12.
    D. Dams. Abstract interpretation and partition refinement for model checking. PhD thesis, Technische Universiteit Eindhoven, The Netherlands, 1996.MATHGoogle Scholar
  13. 13.
    D. Dams, R. Gerth, and O. Grumberg. Abstract interpretation of reactive systems. ACM Transactions on Programming Languages and Systems, 19(2):253–291, 1997.CrossRefGoogle Scholar
  14. 14.
    S. Das, D. L. Dill, and S. Park. Experience with Predicate Astraction. In N. Halbwachs and D. Peled, editors, Proc. of the 11th International Conference on Computer-Aided Verification, pages 160–172, Trento, Italy, July 1999. Springer Verlag.Google Scholar
  15. 15.
    E. W. Dijkstra. A Discipline of Programming. Prentice-Hall, Englewood Cliffs, New Jersey, 1976.MATHGoogle Scholar
  16. 16.
    P. Godefroid. Model Checking for Programming Languages using VeriSoft. In Proceedings of the 24th ACM Symposium on Principles of Programming Languages, pages 174–186, Paris, January 1997.Google Scholar
  17. 17.
    S. Graf and H. Saidi. Construction of abstract state graphs with PVS. In Grumberg O., editor, Conference on Computer-Aided Verification, volume 1254 of Lecture Notes in Computer Science, pages 72–83, Haifa, Israel, June 1997.Google Scholar
  18. 18.
    M. Hennessy and R. Milner. Algebraic laws for nondeterminism and concurrency. Journal of the ACM, 32(1):137–161, January 1985.Google Scholar
  19. 19.
    M. Huth, R. Jagadeesan, and D. Schmidt. Modal transition systems: a foundation for three-valued program analysis. In D. Sands, editor, Proceedings of the European Symposium on Programming (ESOP’2001), volume 2028 of LNCS, pages 155–169, Genova, Italy, April 2001. Springer Verlag.Google Scholar
  20. 20.
    P. Kelb. Model checking and abstraction: a framework preserving both truth and failure information. Technical Report OFFIS, University of Oldenburg, Germany, 1994.Google Scholar
  21. 21.
    S. C. Kleene. Introduction to Metamathematics. Van Nostrand, 1952.Google Scholar
  22. 22.
    D. Kozen. Results on the propositional mu-calculus. Theoretical Computer Science, 27:333–354, 1983.MATHCrossRefMathSciNetGoogle Scholar
  23. 23.
    K. G. Larsen. Modal Specifications. In J. Sifakis, editor, Automatic Verification Methods for Finite State Systems, number 407 in Lecture Notes in Computer Science, pages 232–246. Springer Verlag, June 12–14 1989. International Workshop, Grenoble, France.Google Scholar
  24. 24.
    K. G. Larsen and B. Thomsen. A Modal Process Logic. In Third Annual Symposium on Logic in Computer Science, pages 203–210. IEEE Computer Society Press, 1988.Google Scholar
  25. 25.
    C. Loiseaux, S. Graf, J. Sifakis, A. Bouajjani, and S. Bensalem. Property preserving abstractions for the verification of concurrent systems. Formal Methods in System Design: An International Journal, 6(1):11–44, January 1995.Google Scholar
  26. 26.
    R. Milner. An algebraic definition of simulation between programs. In 2nd International Joint Conference on Artificial Intelligence, pages 481–489, London, United Kingdom, 1971. British Computer Society.Google Scholar
  27. 27.
    R. Milner. Communication and Concurrency. Prentice-Hall, 1989.Google Scholar
  28. 28.
    D. M. R. Park. Concurrency and automata on infinite sequences. In P. Deussen, editor, In Proc. of the 5th GI Conference, volume 104 of Lecture Notes in Computer Science, pages 167–183. Springer Verlag, 1989.Google Scholar
  29. 29.
    A. Pnueli. Applications of temporal logic to the specification and verification of reactive systems: a survey of current trends. In J. W. de Bakker, editor, Current Trends in Concurrency, volume 224 of Lecture Notes in Computer Science, pages 510–584. Springer-Verlag, 1985.CrossRefGoogle Scholar
  30. 30.
    H. Saidi and N. Shankar. Abstract and model check while you prove. In Proc. of the 11th Conference on Computer-Aided Verification, number 1633 in Lecture Notes in Computer Science, pages 443–454. Springer, 1999.CrossRefGoogle Scholar
  31. 31.
    T. Sasao. Ternary Decision Diagrams — Survey. In Proceedings of the 27th International Symposium on Multi-valued Logic, pages 241–250. IEEE, 1997.Google Scholar
  32. 32.
    W. Visser, S. J. Park, and J. Penix. Using predicate abstraction to reduce object-oriented programs for model checking. In Proc. of Formal Methods in Software Practice (FMSP’00), pages 3–12, Portland, Oregon, August 2000.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Patrice Godefroid
    • 1
  • Michael Huth
    • 2
  • Radha Jagadeesan
    • 3
  1. 1.Bell LaboratoriesLucent TechnologiesUSA
  2. 2.Computing and Information SciencesKansas State UniversityUSA
  3. 3.Department of Computer ScienceLoyola University of ChicagoUSA

Personalised recommendations