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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
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.
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.
R. R. Bryant. Symbolic Boolean Manipulation with Ordered Binary-Decision Diagrams. ACM Computing Surveys, 24(3):293–318, September 1992.
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.
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.
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.
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.
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.
D. Dams. Abstract interpretation and partition refinement for model checking. PhD thesis, Technische Universiteit Eindhoven, The Netherlands, 1996.
D. Dams, R. Gerth, and O. Grumberg. Abstract interpretation of reactive systems. ACM Transactions on Programming Languages and Systems, 19(2):253–291, 1997.
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.
E. W. Dijkstra. A Discipline of Programming. Prentice-Hall, Englewood Cliffs, New Jersey, 1976.
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.
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.
M. Hennessy and R. Milner. Algebraic laws for nondeterminism and concurrency. Journal of the ACM, 32(1):137–161, January 1985.
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.
P. Kelb. Model checking and abstraction: a framework preserving both truth and failure information. Technical Report OFFIS, University of Oldenburg, Germany, 1994.
S. C. Kleene. Introduction to Metamathematics. Van Nostrand, 1952.
D. Kozen. Results on the propositional mu-calculus. Theoretical Computer Science, 27:333–354, 1983.
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.
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.
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.
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.
R. Milner. Communication and Concurrency. Prentice-Hall, 1989.
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.
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.
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.
T. Sasao. Ternary Decision Diagrams — Survey. In Proceedings of the 27th International Symposium on Multi-valued Logic, pages 241–250. IEEE, 1997.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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