Skip to main content

Abstraction-Based Model Checking Using Modal Transition Systems

  • Conference paper
  • First Online:
CONCUR 2001 — Concurrency Theory (CONCUR 2001)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2154))

Included in the following conference series:

Abstract

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.

Supported by NSF CCR-9901071.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. 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. 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. 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.

    Chapter  Google Scholar 

  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. R. R. Bryant. Symbolic Boolean Manipulation with Ordered Binary-Decision Diagrams. ACM Computing Surveys, 24(3):293–318, September 1992.

    Google Scholar 

  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.

    Article  Google Scholar 

  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. 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. 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. 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.

    Chapter  Google Scholar 

  12. D. Dams. Abstract interpretation and partition refinement for model checking. PhD thesis, Technische Universiteit Eindhoven, The Netherlands, 1996.

    MATH  Google Scholar 

  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.

    Article  Google Scholar 

  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. E. W. Dijkstra. A Discipline of Programming. Prentice-Hall, Englewood Cliffs, New Jersey, 1976.

    MATH  Google Scholar 

  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. 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. M. Hennessy and R. Milner. Algebraic laws for nondeterminism and concurrency. Journal of the ACM, 32(1):137–161, January 1985.

    Google Scholar 

  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. 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. S. C. Kleene. Introduction to Metamathematics. Van Nostrand, 1952.

    Google Scholar 

  22. D. Kozen. Results on the propositional mu-calculus. Theoretical Computer Science, 27:333–354, 1983.

    Article  MATH  MathSciNet  Google Scholar 

  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. 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. 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. 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. R. Milner. Communication and Concurrency. Prentice-Hall, 1989.

    Google Scholar 

  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. 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.

    Chapter  Google Scholar 

  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.

    Chapter  Google Scholar 

  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. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Godefroid, P., Huth, M., Jagadeesan, R. (2001). Abstraction-Based Model Checking Using Modal Transition Systems. In: Larsen, K.G., Nielsen, M. (eds) CONCUR 2001 — Concurrency Theory. CONCUR 2001. Lecture Notes in Computer Science, vol 2154. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44685-0_29

Download citation

  • DOI: https://doi.org/10.1007/3-540-44685-0_29

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42497-0

  • Online ISBN: 978-3-540-44685-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics