Skip to main content
Log in

Deductive Model Checking

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

We present an extension of classical tableau-based model checking procedures to the case of infinite-state systems, using deductive methods in an incremental construction of the behavior graph. Logical formulas are used to represent infinite sets of states in an abstraction of this graph, which is repeatedly refined in the search for a counterexample computation, ruling out large portions of the graph before they are expanded to the state-level. This can lead to large savings, even in the case of finite-state systems. Only local conditions need to be checked at each step, and previously proven properties can be used to further constrain the search. Although the resulting method is not always automatic, it provides a flexible, general and complete framework that can integrate a diverse number of other verification tools.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. G. Bhat, R. Cleaveland, and O. Grumberg, “Efficient on-the-fly model checking for CTL*,” in Proc. 10th IEEE Symp. Logic in Comp. Sci., pp. 388–397, 1995.

  2. N.S. Bjørner, A. Browne, E. Chang, M. Colón, A. Kapur, Z. Manna, H.B. Sipma, and T.E. Uribe, “STeP: Deductive-algorithmic verification of reactive and real-time systems,” in Proc. 8th Intl. Conference on Computer Aided Verification, volume 1102 of LNCS, Springer-Verlag, pp. 415–418, July 1996.

  3. N.S. Bjørner, A. Browne, and Z. Manna, “Automatic generation of invariants and intermediate assertions,” Theor. Comp. Sci., Vol. 173,No. 1, pp. 49–87, 1997.

    Google Scholar 

  4. N.S. Bjørner, M.E. Stickel, and T.E. Uribe, “A practical combination of first-order reasoning and decision procedures,” in 14th Intl. Conference on Automated Deduction, volume 1249 of LNCS, Springer-Verlag, pp. 101–115, July 1997.

  5. A. Bouajjani, J.-C. Fernandez, and N. Halbwachs, “Minimal model generation,” in Proc. 2nd Intl. Conference on Computer Aided Verification, volume 531 of LNCS, pp. 197–203, 1990.

  6. J.C. Bradfield, Verifying Temporal Properties of Systems, Birkhäuser, 1992.

  7. A. Browne, Z. Manna, and H.B. Sipma, “Generalized temporal verification diagrams,” in 15th Conference on the Foundations of Software Technology and Theoretical Computer Science, volume 1026 of LNCS, Springer-Verlag, pp. 484–498, 1995.

  8. A. Browne, Z. Manna, and H.B. Sipma, “Hierarchical verification using verification diagrams,” in 2nd Asian Computing Science Conf., volume 1179 of LNCS, Springer-Verlag, pp. 276–286, Dec. 1996.

  9. R.E. Bryant, “Graph-based algorithms for Boolean function manipulation,” IEEE Transactions on Computers, Vol. C-35,No. 8, pp. 677–691, Aug. 1986.

    Google Scholar 

  10. J.R. Burch, E.M. Clarke, K.L. McMillan, D.L. Dill, and L.J. Hwang, “Symbolic model checking: 1020 states and beyond,” in Proc. 5th IEEE Symp. Logic in Comp. Sci., IEEE Computer Society Press, pp. 428–439, 1990.

  11. A.K. Chandra, V.S. Iyengar, R.V. Jawalekar, M.P. Mullen, I. Nair, and B.K. Rosen, “Architectural verification of processors using symbolic instruction graphs,” in Intl. Conference on Computer Design: VLSI in Computers and Processors, IEEE Press, pp. 454–459, 1994.

  12. E.M. Clarke and E.A. Emerson, “Design and synthesis of synchronization skeletons using branching time temporal logic,” in Proc. IBM Workshop on Logics of Programs, volume 131 of LNCS, Springer-Verlag, pp. 52–71, 1981.

  13. P. Cousot and R. Cousot, “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., ACM Press, pp. 238–252, 1977.

  14. W. Damm, O. Grümberg, and H. Hungar, “What if model checking must be truly symbolic,” in First Intl. Workshop on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 95), volume 1019 of LNCS, Springer-Verlag, pp. 230–244, May 1995.

  15. D.R. Dams, “Abstract interpretation and partition refinement for model checking,” Ph.D. thesis, Eindhoven University of Technology, Eindhoven, July 1996.

    Google Scholar 

  16. D.R. Dams, R. Gerth, G. Döhmen, R. Herrmann, P. Kelb, and H. Pargmann, “Model checking using adaptive state and data abstraction,” in Proc. 6th Intl. Conference on Computer Aided Verification, volume 818 of LNCS, Springer-Verlag, pp. 455–467, June 1994.

  17. D. Dams, R. Gerth, and O. Grümberg, “Abstract interpretation of reactive systems,” ACM Transactions on Programming Languages and Systems, Vol. 19,No. 2, pp. 253–291, 1997.

    Google Scholar 

  18. D.R. Dams, O. Grümberg, and R. Gerth, “Generation of reduced models for checking fragments of CTL,” in Proc. 5th Intl. Conference on Computer Aided Verification, volume 697 of LNCS, Springer-Verlag, pp. 479–490, June 1993.

  19. L. de Alfaro and Z. Manna, “Temporal verification by diagram transformations,” in Proc. 8th Intl. Conference on Computer Aided Verification, volume 1102 of LNCS, pp. 287–299, July 1996.

  20. L. de Alfaro, Z. Manna, H.B. Sipma, and T.E. Uribe, “Visual verification of reactive systems,” in Third Intl. Workshop on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 97), volume 1217 of LNCS, Springer-Verlag, pp. 334–350, April 1997.

  21. J. Dingel and T. Filkorn, “Model checking of infinite-state systems using data abstraction, assumption-commitment style reasoning and theorem proving,” in Proc. 7th Intl. Conference on Computer Aided Verification, volume 939 of LNCS, pp. 54–69, July 1995.

  22. L. Fix and O. Grümberg, “Verification of temporal properties,” J. Logic and Computation, Vol. 6,No. 3, pp. 343–362, 1996.

    Google Scholar 

  23. S. Graf and H. Saidi, “Construction of abstract state graphs with PVS,” in Proc. 9th Intl. Conference on Computer Aided Verification, volume 1254 of LNCS, Springer-Verlag, pp. 72–83, June 1997.

  24. D. Harel, “Statecharts: A visual approach to complex systems,” Technical Report CS84–05, Dept. of Applied Mathematics, Weizmann Institute of Science, 1984.

  25. H. Hungar, “Combining model checking and theorem proving to verify parallel processes,” in Proc. 5th Intl. Conference on Computer Aided Verification, volume 697 of LNCS, Springer-Verlag, pp. 154–165, 1993.

  26. J. Jaffar and J.-L. Lassez, “Constraint logic programming,” in Proc. 14th ACM Symp. Princ. of Prog. Lang., pp. 111–119, Jan. 1987.

  27. Y. Kesten, Z. Manna, H. McGuire, and A. Pnueli, “A decision algorithm for full propositional temporal logic,” in Proc. 5th Intl. Conference on Computer Aided Verification, volume 697 of LNCS, Springer-Verlag, pp. 97–109, 1993.

  28. R. Kurshan and L. Lamport, “Verification of a multiplier: 64 bits and beyond,” in C. Courcoubetis, editor, Proc. 5th Intl. Conference on Computer Aided Verification, volume 697 of LNCS, Springer-Verlag, pp. 166–179, 1993.

  29. L. Lamport, “A new solution of Dijkstra's concurrent programming problem,” Communications of the ACM, Vol. 17,No. 8, pp. 435–455, 1974.

    Google Scholar 

  30. D. Lehmann, A. Pnueli, and J. Stavi, “Impartiality, justice and fairness: The ethics of concurrent termination,” in Proc. 8th Int. Colloq. Aut. Lang. Prog., volume 115 of LNCS, Springer-Verlag, pp. 264–277, 1981.

  31. 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, Vol. 6, pp. 1–35, 1995.

    Google Scholar 

  32. Z. Manna and A. Pnueli, “Completing the temporal picture,” Theor. Comp. Sci., Vol. 83,No. 1, pp. 97–130, 1991.

    Google Scholar 

  33. Z. Manna and A. Pnueli, “Temporal verification diagrams,” in Proc. Int. Symp. on Theoretical Aspects of Computer Software, volume 789 of LNCS, Springer-Verlag, pp. 726–765, 1994.

  34. Z. Manna and A. Pnueli, Temporal Verification of Reactive Systems: Safety, Springer-Verlag, New York, 1995.

    Google Scholar 

  35. K.L. McMillan, Symbolic Model Checking, Kluwer Academic Pub., 1993.

  36. J.S. Ostroff, “A visual toolset for the design of real-time discrete event systems,” IEEE Trans. on Control Systems Technology, May 1997.

  37. S. Owre, S. Rajan, J.M. Rushby, N. Shankar, and M. Srivas, “PVS: Combining specification, proof checking, and model checking,” in Proc. 8th Intl. Conference on Computer Aided Verification, volume 1102 of LNCS, Springer-Verlag, pp. 411–414, July 1996.

  38. A. Pnueli and E. Shahar, “A platform for combining deductive with algorithmic verification,” in Proc. 8th Intl. Conference on Computer Aided Verification, volume 1102 of LNCS, Springer-Verlag, pp. 184–195, 1996.

  39. J.P. Queille and J. Sifakis, “Specification and verification of concurrent systems in CESAR,” in M. Dezani-Ciancaglini and U. Montanari, editors, Intl. Symposium on Programming, volume 137 of LNCS, Springer-Verlag, pp. 337–351, 1982.

  40. S. Rajan, N. Shankar, and M.K. Srivas, “An integration of model checking with automated proof checking,” in Proc. 7th Intl. Conference on Computer Aided Verification, volume 939 of LNCS, pp. 84–97, July 1995.

  41. V.A. Saraswat, Concurrent Constraint Programming, MIT Press, 1993.

  42. H.B. Sipma, T.E. Uribe, and Z. Manna, “Deductive model checking,” in Proc. 8th Intl. Conference on Computer Aided Verification, volume 1102 of LNCS, Springer-Verlag, pp. 208–219, 1996.

  43. O.V. Sokolsky and S.A. Smolka, “Local model checking for real-time systems,” in Proc. 7th Intl. Conference on Computer Aided Verification, volume 939 of LNCS, pp. 211–224, July 1995.

  44. F.A. Stomp, W.-P. de Roever, and R.T. Gerth, “The μ-calculus as an assertion language for fairness arguments,” Inf. and Comp., Vol. 82, pp. 278–322, 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Sipma, H.B., Uribe, T.E. & Manna, Z. Deductive Model Checking. Formal Methods in System Design 15, 49–74 (1999). https://doi.org/10.1023/A:1008791913551

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008791913551

Navigation