Model Checking for Database Theoreticians

  • Moshe Y. Vardi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3363)


Algorithmic verification is one of the most successful applications of automated reasoning in computer science. In algorithmic verification one uses algorithmic techniques to establish the correctness of the system under verification with respect to a given property. Model checking is an algorithmic-verification technique that is based on a small number of key ideas, tying together graph theory, automata theory, and logic. In this self-contained talk I will describe how this “holy trinity” gave rise to algorithmic-verification tools, and discuss its applicability to database verification.


Model Check Temporal Logic Linear Temporal Logic Transition Graph Atomic Proposition 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abiteboul, S., Buneman, P., Suciu, D.: Data on the Web: from Relations to Semistructured Data and XML. Morgan Kaufmann, San Mateo (2000)Google Scholar
  2. 2.
    Abiteboul, S., Hull, R., Vianu, V.: Foundations of databases. Addison-Wesley, Reading (1995)zbMATHGoogle Scholar
  3. 3.
    Abiteboul, S., Vianu, V., Fordham, B.S., Yesha, Y.: Relational transducers for electronic commerce. J. Comput. Syst. Sci. 61(2), 236–269 (2000)zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Alur, R., Etessami, K., Yannakakis, M.: Analysis of recursive state machines. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 207–220. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  5. 5.
    Alur, R., Henzinger, T.A., Kupferman, O.: Alternating-time temporal logic. In: Proc. 38th IEEE Symp. on Foundations of Computer Science, Florida, October 1997, pp. 100–109 (1997)Google Scholar
  6. 6.
    Alur, R., McMillan, K.L., Peled, D.: Model-checking of correctness conditions for concurrent objects. Information and Computation 160(1-2), 167–188 (2000)zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Armoni, R., Fix, L., Flaisher, A., Gerth, R., Ginsburg, B., Kanza, T., Landver, A., Mador-Haim, S., Singerman, E., Tiemeyer, A., Vardi, Y.M., Zbar, Y.: The forSpec temporal logic: A new temporal property-specification language. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 296–311. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  8. 8.
    Atzeni, P., De Antonellis, V.: Relational Database Theory. Benjamin/Cummings (1993)Google Scholar
  9. 9.
    Bouajjani, A., Esparza, J., Maler, O.: Reachability analysis of pushdown automata: Application to model-checking. In: Mazurkiewicz, A., Winkowski, J. (eds.) CONCUR 1997. LNCS, vol. 1243, pp. 135–150. Springer, Heidelberg (1997)Google Scholar
  10. 10.
    Büchi, J.R.: On a decision method in restricted second order arithmetic. In: Proc. Internat. Congr. Logic, Method. and Philos. Sci. 1960, pp. 1–12. Stanford University Press, Stanford (1962)Google Scholar
  11. 11.
    Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J.: Symbolic model checking: 1020 states and beyond. Information and Computation 98(2), 142–170 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Burkart, O., Caucal, D., Moller, F., Steffen, B.: Verification over infinite states. In: Bergstra, J., Ponse, A., Smolka, S.A. (eds.) Handbook of Process Algebra, pp. 545–623. Elsevier, Amsterdam (2001)CrossRefGoogle Scholar
  13. 13.
    Burkart, O., Steffen, B.: Model checking for context-free processes. In: Cleaveland, W.R. (ed.) CONCUR 1992. LNCS, vol. 630, pp. 123–137. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  14. 14.
    Burkart, O., Steffen, B.: Composition, decomposition and model checking of pushdown processes. Nordic J. Comut. 2, 89–125 (1995)zbMATHMathSciNetGoogle Scholar
  15. 15.
    Cachat, T.: Higher order pushdown automata, the caucal hierarchy of graphs and parity games. In: Baeten, J.C.M., Lenstra, J.K., Parrow, J., Woeginger, G.J. (eds.) ICALP 2003. LNCS, vol. 2719, pp. 556–569. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  16. 16.
    Chomicki, J., Niwinski, D.: On the feasibility of checking temporal integrity constraints. J. Comput. Syst. Sci. 51(3), 523–535 (1995)zbMATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems 8(2), 244–263 (1986)zbMATHCrossRefGoogle Scholar
  18. 18.
    Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)Google Scholar
  19. 19.
    Clarke, E.M., Wing, J.M.: Formal methods: State of the art and future directions. ACM Computing Surveys 28, 626–643 (1996)CrossRefGoogle Scholar
  20. 20.
    Courcoubetis, C., Vardi, M.Y., Wolper, P., Yannakakis, M.: Memory efficient algorithms for the verification of temporal properties. Formal Methods in System Design 1, 275–288 (1992)CrossRefGoogle Scholar
  21. 21.
    Deutsch, A., Sui, L., Vianu, V.: Specification and verification of data-driven web services. In: Proc. 23rd ACM Symp. on Principles of Database Systems, pp. 71–82 (2004)Google Scholar
  22. 22.
    Dickhfer, M., Wilke, T.: Timed alternating tree automata: the automata-theoretic solution to the TCTL model checking problem. In: Wiedermann, J., Van Emde Boas, P., Nielsen, M. (eds.) ICALP 1999. LNCS, vol. 1644, pp. 281–290. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  23. 23.
    Ebbinghaus, H.D., Flum, J.: Finite Model Theory. In: Perspectives in Mathematical Logic. Springer, Heidelberg (1995)Google Scholar
  24. 24.
    Emerson, E.A., Jutla, C.: The complexity of tree automata and logics of programs. In: Proc. 29th IEEE Symp. on Foundations of Computer Science, White Plains, pp. 328–337 (October 1988)Google Scholar
  25. 25.
    Emerson, E.A., Jutla, C.: Tree automata, μ-calculus and determinacy. In: Proc. 32nd IEEE Symp. on Foundations of Computer Science, San Juan, October 1991, pp. 368–377 (1991)Google Scholar
  26. 26.
    Emerson, E.A., Lei, C.-L.: Temporal model checking under generalized fairness constraints. In: Proc. 18th Hawaii International Conference on System Sciences, North Holywood, Western Periodicals Company (1985)Google Scholar
  27. 27.
    Finkel, A., Willems, B., Wolper, P.: A direct symbolic approach to model checking pushdown automata. In: Moller, F. (ed.) Proc. 2nd International Workshop on Verification of Infinite States Systems (1997)Google Scholar
  28. 28.
    Gerth, R., Peled, D., Vardi, M.Y., Wolper, P.: Simple on-the-fly automatic verification of linear temporal logic. In: Dembiski, P., Sredniawa, M. (eds.) Protocol Specification, Testing, and Verification, pp. 3–18. Chapman and Hall, Boca Raton (1995)Google Scholar
  29. 29.
    Godefroid, P., Wolper, P.: A partial approach to model checking. Information and Computation 110(2), 305–326 (1994)zbMATHCrossRefMathSciNetGoogle Scholar
  30. 30.
    Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Francisco (1993)zbMATHGoogle Scholar
  31. 31.
    Hardin, R.H., Har’el, Z., Kurshan, R.P.: COSPAN. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, pp. 423–427. Springer, Heidelberg (1996)Google Scholar
  32. 32.
    Henzinger, T.A., Ho, P.-H., Wong-Toi, H.: A user guide to hytech. In: Brinksma, E., Steffen, B., Cleaveland, W.R., Larsen, K.G., Margaria, T. (eds.) TACAS 1995. LNCS, vol. 1019, pp. 41–71. Springer, Heidelberg (1995)Google Scholar
  33. 33.
    Henzinger, T.A., Kupferman, O., Vardi, M.Y.: A space-efficient on-the-fly algorithm for real-time model checking. In: Sassone, V., Montanari, U. (eds.) CONCUR 1996. LNCS, vol. 1119, pp. 514–529. Springer, Heidelberg (1996)Google Scholar
  34. 34.
    Holzmann, G.J.: The model checker SPIN. IEEE Trans. on Software Engineering 23(5), 279–295 (1997); Special issue on Formal Methods in Software PracticeCrossRefMathSciNetGoogle Scholar
  35. 35.
    Hughes, G.E., Cresswell, M.J.: A New Introduction to Modal Logic. Routledge, London (1996)Google Scholar
  36. 36.
    Hull, R., Benedikt, M., Christophides, V., Su, J.: E-services: a look behind the curtain. In: Proc. 22rd ACM Symp. on Principles of Database Systems, pp. 1–14 (2003)Google Scholar
  37. 37.
    Janin, D., Walukiewicz, I.: Automata for the modal μ-calculus and related results. In: Hájek, P., Wiedermann, J. (eds.) MFCS 1995. LNCS, vol. 969, pp. 552–562. Springer, Heidelberg (1995)Google Scholar
  38. 38.
    Kozen, D.: Results on the propositional μ-calculus. Theoretical Computer Science 27, 333–354 (1983)zbMATHCrossRefMathSciNetGoogle Scholar
  39. 39.
    Kupferman, O., Piterman, N., Vardi, M.Y.: Model checking linear properties of prefix-recognizable systems. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 371–385. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  40. 40.
    Kupferman, O., Vardi, M.Y.: Freedom, weakness, and determinism: from linear-time to branching-time. In: Proc. 13th IEEE Symp. on Logic in Computer Science, June 1998, pp. 81–92 (1998)Google Scholar
  41. 41.
    Kupferman, O., Vardi, M.Y.: Modular model checking. In: de Roever, W.-P., Langmaack, H., Pnueli, A. (eds.) COMPOS 1997. LNCS, vol. 1536, pp. 381–401. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  42. 42.
    Kupferman, O., Vardi, M.Y.: Robust satisfaction. In: Baeten, J.C.M., Mauw, S. (eds.) CONCUR 1999. LNCS, vol. 1664, pp. 383–398. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  43. 43.
    Kupferman, O., Vardi, M.Y.: An automata-theoretic approach to reasoning about infinite-state systems. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 36–52. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  44. 44.
    Kupferman, O., Vardi, M.Y.: Synthesis with incomplete informatio. In: Advances in Temporal Logic, pp. 109–127. Kluwer Academic Publishers, Dordrecht (2000)Google Scholar
  45. 45.
    Kupferman, O., Vardi, M.Y.: Weak alternating automata are not that weak. ACM Trans. on Computational Logic 2001(2), 408–429 (2001)CrossRefMathSciNetGoogle Scholar
  46. 46.
    Kupferman, O., Vardi, M.Y., Wolper, P.: An automata-theoretic approach to branching-time model checking. Journal of the ACM 47(2), 312–360 (2000)zbMATHCrossRefMathSciNetGoogle Scholar
  47. 47.
    Kurshan, R.P.: Computer Aided Verification of Coordinating Processes. Princeton Univ. Press, Princeton (1994)Google Scholar
  48. 48.
    Kurshan, R.P.: Formal verification in a commercial setting. In: Proc. Conf. on Design Automation (DAC 1997), vol. 34, pp. 258–262 (1997)Google Scholar
  49. 49.
    Lamport, L.: Sometimes is sometimes not never - on the temporal logic of programs. In: Proc. 7th ACM Symp. on Principles of Programming Languages, January 1980, pp. 174–185 (1980)Google Scholar
  50. 50.
    Larsen, K.G., Petterson, P., Yi, W.: UPPAAL: Status & developments. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 456–459. Springer, Heidelberg (1997)Google Scholar
  51. 51.
    Lichtenstein, O., Pnueli, A.: Checking that finite state concurrent programs satisfy their linear specification. In: Proc. 12th ACM Symp. on Principles of Programming Languages, New Orleans, January 1985, pp. 97–107 (1985)Google Scholar
  52. 52.
    Maier, D.: The Theory of Relational Databases. Computer Science Press, Rockville (1983)Google Scholar
  53. 53.
    Muller, D.E., Schupp, P.E.: The theory of ends, pushdown automata, and second-order logic. Theoretical Computer Science 37, 51–75 (1985)zbMATHCrossRefMathSciNetGoogle Scholar
  54. 54.
    Muller, D.E., Schupp, P.E.: Alternating automata on infinite trees. Theoretical Computer Science 54, 267–276 (1987)zbMATHCrossRefMathSciNetGoogle Scholar
  55. 55.
    Neven, F.: Automata, logic, and XML. In: Bradfield, J.C. (ed.) CSL 2002 and EACSL 2002. LNCS, vol. 2471, pp. 2–26. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  56. 56.
    Neven, F.: Automata theory for xml researchers. SIGMOD Record 31(3), 39–46 (2002)CrossRefGoogle Scholar
  57. 57.
    Goodman, N., Bernstein, P.A., Hadzilacos, V.: Concurrency Control and Recovery in Database Systems. Addison-Wesley, Reading (1987)Google Scholar
  58. 58.
    Papadimitiou, C.: Theory of Database Concurrency Control. Computer Science Press, Rockville (1986)Google Scholar
  59. 59.
    Papadimitriou, C.H.: Database metatheory: Asking the big queries. In: Proc. 14th ACM Symp. on Principles of Database Systems, pp. 1–10 (1995)Google Scholar
  60. 60.
    Peled, D., Katz, S., Pnueli, A.: Specifying and proving serializability in temporal logic. In: Proc. 6th IEEE Symp. on Logic in Computer Science, pp. 232–244 (1991)Google Scholar
  61. 61.
    Piterman, N., Vardi, M.: Micro-macro stack systems: A new frontier of decidability for sequential systems. In: 18th IEEE Symposium on Logic in Computer Science, Ottawa, Canada, June 2003, pp. 381–390. IEEE press, Los Alamitos (2003)Google Scholar
  62. 62.
    Pnueli, A.: The temporal logic of programs. In: Proc. 18th IEEE Symp. on Foundation of Computer Science, pp. 46–57 (1977)Google Scholar
  63. 63.
    Pnueli, A., Rosner, R.: On the synthesis of a reactive module. In: Proc. 16th ACM Symp. on Principles of Programming Languages, Austin, January 1989, pp. 179–190 (1989)Google Scholar
  64. 64.
    Queille, J.P., 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)Google Scholar
  65. 65.
    Spielmann, M.: Verification of relational transducers for electronic commerce. J. Comput. Syst. Sci. 66, 40–65 (2003)zbMATHCrossRefMathSciNetGoogle Scholar
  66. 66.
    Vardi, M.Y.: Automata theory for database theoreticians. In: Proc. 8th ACM Symp. on Principles of Database Systems, pp. 83–92 (1989)Google Scholar
  67. 67.
    Vardi, M.Y.: An automata-theoretic approach to linear temporal logic. In: Moller, F., Birtwistle, G. (eds.) Logics for Concurrency. LNCS, vol. 1043, pp. 238–266. Springer, Heidelberg (1996)Google Scholar
  68. 68.
    Vardi, M.Y.: Reasoning about the past with two-way automata. In: Larsen, K.G., Skyum, S., Winskel, G. (eds.) ICALP 1998. LNCS, vol. 1443, pp. 628–641. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  69. 69.
    Vardi, M.Y.: Branching vs. linear time: Final showdown. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 1–22. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  70. 70.
    Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verification. In: Proc. 1st Symp. on Logic in Computer Science, Cambridge, June 1986, pp. 332–344 (1986)Google Scholar
  71. 71.
    Vardi, M.Y., Wolper, P.: Reasoning about infinite computations. Information and Computation 115(1), 1–37 (1994)zbMATHCrossRefMathSciNetGoogle Scholar
  72. 72.
    Walukiewicz, I.: Pushdown processes: games and model checking. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, pp. 62–74. Springer, Heidelberg (1996)Google Scholar
  73. 73.
    Weikum, G., Vossen, G.: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control. Morgan Kaufmann, San Francisco (2001)Google Scholar
  74. 74.
    Wilke, T.: CTL +  is exponentially more succinct than CTL. In: Pandu Rangan, C., Raman, V., Sarukkai, S. (eds.) FST TCS 1999. LNCS, vol. 1738, pp. 110–121. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  75. 75.
    Willems, B., Wolper, P.: Partial-order methods for model checking: From linear time to branching time. In: Proc. 11th Symp. on Logic in Computer Science, New Brunswick, July 1996, pp. 294–303 (1996)Google Scholar
  76. 76.
    Wolper, P., Vardi, M.Y., Sistla, A.P.: Reasoning about infinite computation paths. In: Proc. 24th IEEE Symp. on Foundations of Computer Science, Tucson, pp. 185–194 (1983)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Moshe Y. Vardi
    • 1
  1. 1.Rice UniversityHoustonUSA

Personalised recommendations