Abstract
The two main approaches to the formal verification of reactive systems are based, respectively, on model checking (algorithmic verification) and theorem proving (deductive verification). These two approaches have complementary strengths and weaknesses, and their combination promises to enhance the capabilities of each. This paper surveys a number of methods for doing so. As is often the case, the combinations can be classified according to how tightly the different components are integrated, their range of application, and their degree of automation.
This research was supported in part by the National Science Foundation under grant CCR-98-04100, by the Defense Advanced Research Projects Agency under contract NAG2-892, by the Army under grants DAAH04-96-1-0122 and DAAG55-98-1-0471, and by the Army under contract DABT63-96-C-0096 (DARPA).
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
Alur, R., Henzinger, T.A. (eds.): CAV 1996. LNCS, vol. 1102. Springer, Heidelberg (1996)
Barrett, C., Dill, D.L., Levitt, J.: Validity checking for combinations of theories with equality. In: Srivas, M., Camilleri, A. (eds.) FMCAD 1996. LNCS, vol. 1166, pp. 187–201. Springer, Heidelberg (1996)
Bensalem, S., Lakhnech, Y., Owre, S.: Computing abstractions of infinite state systems compositionally and automatically. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 319–331. Springer, Heidelberg (1998)
Padget, J. (ed.): Collaboration between Human and Artificial Societies 1997. LNCS, vol. 1624. Springer, Heidelberg (1999)
Biere, A., Cimatti, A., Clarke, E.M., Fujita, M., Zhu, Y.: Symbolic model checking using SAT procedures instead of BDDs. In: Design Autom. Conf., DAC 1999 (1999)
Bjørner, N.S.: Integrating Decision Procedures for Temporal Verification. PhD thesis, Comp. Sci. Department, Stanford Univ. (November 1998)
Bjórner, N.S., Browne, A., Chang, E.S., Colon, M., Kapur, A., Manna, Z., Sipma, H.B., Uribe, T.E.: STeP: Deductive-algorithmic verification of reactive and real-time systems. In: [1], pp. 415–418
Bjørner, N.S., Browne, A., Manna, Z.: Automatic generation of invariants and intermediate assertions. Theoretical Comp. Sci. 173(1), 49–87 (1997)
Bjørner, N.S., Stickel, M.E., Uribe, T.E.: A practical integration of first-order reasoning and decision procedures. In: McCune, W. (ed.) CADE 1997. LNCS, vol. 1249, pp. 101–115. Springer, Heidelberg (1997)
Bradfield, J.C., Stirling, C.: Local model checking for infinite state spaces. Theoretical Comp. Sci. 96(1), 157–174 (1992)
Browne, A., Manna, Z., Sipma, H.B.: Generalized temporal verification diagrams. In: Thiagarajan, P.S. (ed.) FSTTCS 1995. LNCS, vol. 1026, pp. 484–498. Springer, Heidelberg (1995)
Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Transactions on Computers C-35(8), 677–691 (1986)
Bultan, T., Gerber, R., Pugh, W.: Symbolic model checking of infinite state systems using Presburger arithmetic. In: Grumberg [29], pp. 400–411
Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching time temporal logic. In: Kozen, D. (ed.) Logic of Programs 1981. LNCS, vol. 131, pp. 52–71. Springer, Heidelberg (1982)
Clarke, E.M., Fujita, M., Zhao, X.: Hybrid decision diagrams. Overcoming the limitations of MTBDDs and BMDs. In: IEEE/ACM Intl. Conf. on Computer-Aided Design, pp. 159–163 (November 1995)
Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)
Cólon, M.A., Uribe, T.E.: Generating finite-state abstractions of reactive systems using decision procedures. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 293–304. Springer, Heidelberg (1998)
Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: 4th ACM Symp. Princ. of Prog. Lang, pp. 238–252. ACM Press, New York (1977)
Damm, W., Grumberg, O., Hungar, H.: What if model checking must be truly symbolic. In: Brinksma, E., Steffen, B., Cleaveland, W.R., Larsen, K.G., Margaria, T. (eds.) TACAS 1995. LNCS, vol. 1019, pp. 230–244. Springer, Heidelberg (1995)
Dams, D.R.: Abstract Interpretation and Partition Refinement for Model Checking. PhD thesis, Eindhoven Univ. of Technology (July 1996)
Das, S., Dill, D.L., Park, S.: Experience with predicate abstraction. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 160–171. Springer, Heidelberg (1999)
de Alfaro, L., Manna, Z.: Temporal verification by diagram transformations. In: [1], pp. 287–299
Detlefs, D.L., Leino, K.R.M., Nelson, G., Saxe, J.B.: Extended static checking. Tech. Report 159, Compaq SRC (December 1998)
Dill, D.L.: The Murp verification system. In: [1], pp. 390–393
Dingel, J., Filkorn, T.: Model checking of infinite-state systems using data abstraction, assumption-commitment style reasoning and theorem proving. In: Wolper, P. (ed.) CAV 1995. LNCS, vol. 939, pp. 54–69. Springer, Heidelberg (1995)
Emerson, E.A., Namjoshi, K.S.: On model checking for non-deterministic infinite-state systems. In: Proc. 13th IEEE Symp. Logic in Comp. Sci., pp. 70–80. IEEE Press, Los Alamitos (1998)
Finkbeiner, B., Manna, Z., Sipma, H.B.: Deductive verification of modular systems. In: de Roever, W.-P., Langmaack, H., Pnueli, A. (eds.) COMPOS 1997. LNCS, vol. 1536, pp. 239–275. Springer, Heidelberg (1998)
Graf, S., Saidi, H.: Construction of abstract state graphs with PVS. In: Grumberg [29], pp. 72–83
Grumberg, O. (ed.): CAV 1997. LNCS, vol. 1254. Springer, Heidelberg (1997)
Henzinger, T.A., Ho, P.: HYTECH: The Cornell hybrid technology tool. In: Antsaklis, P.J., Kohn, W., Nerode, A., Sastry, S.S. (eds.) HS 1994. LNCS, vol. 999, pp. 265–293. Springer, Heidelberg (1995)
Henzinger, T.A., Majumdar, R.: A classification of symbolic transition systems. In: Reichel, H., Tison, S. (eds.) STACS 2000. LNCS, vol. 1770, p. 13. Springer, Heidelberg (2000)
Holzmann, G.J.: Design and Validation of Computer Protocols. Prentice Hall, Engelwood Cliffs (1991)
Hungar, H.: Combining model checking and theorem proving to verify parallel processes. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 154–165. Springer, Heidelberg (1993)
Jackson, D., Damon, C.A.: Nitpick reference manual. Tech. report, Carnegie-Mellon Univ. (1996)
Jones, R.B., Skakkebask, J.U., Dill, D.L.: Reducing manual abstraction in formal verification of out-of-order execution. In: Gopalakrishnan, G.C., Windley, P. (eds.) FMCAD 1998. LNCS, vol. 1522, pp. 2–17. Springer, Heidelberg (1998)
Kesten, Y., Maler, O., Marcus, M., Pnueli, A., Shahar, E.: Symbolic model checking with rich assertional languages. In: Grumberg [29], pp. 424–435
Kesten, Y., Pnueli, A.: Modularization and abstraction: The keys to practical formal verification. In: Brim, L., Gruska, J., Zlatuška, J. (eds.) MFCS 1998. LNCS, vol. 1450, pp. 54–71. Springer, Heidelberg (1998)
Kurshan, R.P., Lamport, L.: Verification of a multiplier: 64 bits and beyond. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 166–179. Springer, Heidelberg (1993)
Loiseaux, C., Graf, S., Sifakis, J., Bouajjani, A., Bensalem, S.: Property preserving abstractions for the verification of concurrent systems. Formal Methods in System Design 6, 1–35 (1995)
Lowry, M., Subramaniam, M.: Abstraction for analytic verification of concurrent software systems. In: Symp. on Abstraction, Reformulation, and Approx. (May 1998)
Manna, Z., Browne, A., Sipma, H.B., Uribe, T.E.: Visual abstractions for temporal verification. In: Haeberer, A.M. (ed.) AMAST 1998. LNCS, vol. 1548, pp. 28–41. Springer, Heidelberg (1998)
Manna, Z., Pnueli, A.: Completing the temporal picture. Theoretical Comp. Sci. 83(1), 97–130 (1991)
Manna, Z., Pnueli, A.: Temporal verification diagrams. In: Hagiya, M., Mitchell, J.C. (eds.) TACS 1994. LNCS, vol. 789, pp. 726–765. Springer, Heidelberg (1994)
Manna, Z., Pnueli, A.: Temporal Verification of Reactive Systems: Safety. Springer, New York (1995)
McMillan, K.L.: Symbolic Model Checking. Kluwer Academic Pub., Dordrecht (1993)
Müller, O., Nipkow, T.: Combining model checking and deduction for I/O-automata. In: Brinksma, E., Steffen, B., Cleaveland, W.R., Larsen, K.G., Margaria, T. (eds.) TACAS 1995. LNCS, vol. 1019, pp. 1–12. Springer, Heidelberg (1995)
Owre, S., Rajan, S., Rushby, J.M., Shankar, N., Srivas, M.K.: PVS: Combining specification, proof checking and model checking. In: [1], pp. 411–414.
Pnueli, A.: The temporal logic of programs. In: Proc. 18th IEEE Symp. Found. of Comp. Sci., pp. 46–57. IEEE Computer Society Press, Los Alamitos (1977)
Pnueli, A., Shahar, E.: A platform for combining deductive with algorithmic verification. In: [1], pp. 184–195
Queille, J., Sifakis, J.: Specification and verification of concurrent systems in CESAR. In: Dezani-Ciancaglini, M., Montanari, U. (eds.) Programming 1982. LNCS, vol. 137, pp. 337–351. Springer, Heidelberg (1982)
Rajan, S., Shankar, N., Srivas, M.K.: An integration of model checking with automated proof checking. In: Wolper, P. (ed.) CAV 1995. LNCS, vol. 939, pp. 84–97. Springer, Heidelberg (1995)
Rushby, J.: Integrated formal verification: Using model checking with automated abstraction, invariant generation, and theorem proving. In: Dams, D.R., Gerth, R., Leue, S., Massink, M. (eds.) SPIN 1999. LNCS, vol. 1680, pp. 1–11. Springer, Heidelberg (1999)
Rusu, V., Singerman, E.: On proving safety properties by integrating static analysis, theorem proving and abstraction. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, p. 178. Springer, Heidelberg (1999)
Saidi, H., Shankar, N.: Abstract and model check while you prove. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 443–454. Springer, Heidelberg (1999)
Schmidt, D.A., Steffen, B.: Program analysis as model checking of abstract interpretations. In: Proc. 5th Static Analysis Symp. LNCS. Springer, Heidelberg (1998)
Sipma, H.B.: Diagram-based Verification of Discrete, Real-time and Hybrid Systems. PhD thesis, Comp. Sci. Department, Stanford Univ. (February 1999)
Sipma, H.B., Uribe, T.E., Manna, Z.: Deductive model checking. Formal Methods in System Design 15(1), 49–74 (1999)
Uribe, T.E.: Abstraction-based Deductive-Algorithmic Verification of Reactive Systems. PhD thesis, Comp. Sci. Department, Stanford Univ., Tech. Report STAN-CS-TR-99-1618 (December 1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Uribe, T.E. (2000). Combinations of Model Checking and Theorem Proving. In: Kirchner, H., Ringeissen, C. (eds) Frontiers of Combining Systems. FroCoS 2000. Lecture Notes in Computer Science(), vol 1794. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10720084_11
Download citation
DOI: https://doi.org/10.1007/10720084_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67281-4
Online ISBN: 978-3-540-46421-1
eBook Packages: Springer Book Archive