Skip to main content

Model Checking for Database Theoreticians

  • Conference paper
Book cover Database Theory - ICDT 2005 (ICDT 2005)

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

Included in the following conference series:

Abstract

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.

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. 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. Abiteboul, S., Hull, R., Vianu, V.: Foundations of databases. Addison-Wesley, Reading (1995)

    MATH  Google Scholar 

  3. Abiteboul, S., Vianu, V., Fordham, B.S., Yesha, Y.: Relational transducers for electronic commerce. J. Comput. Syst. Sci. 61(2), 236–269 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. Alur, R., McMillan, K.L., Peled, D.: Model-checking of correctness conditions for concurrent objects. Information and Computation 160(1-2), 167–188 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  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)

    Chapter  Google Scholar 

  8. Atzeni, P., De Antonellis, V.: Relational Database Theory. Benjamin/Cummings (1993)

    Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  14. Burkart, O., Steffen, B.: Composition, decomposition and model checking of pushdown processes. Nordic J. Comut. 2, 89–125 (1995)

    MATH  MathSciNet  Google Scholar 

  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)

    Chapter  Google Scholar 

  16. Chomicki, J., Niwinski, D.: On the feasibility of checking temporal integrity constraints. J. Comput. Syst. Sci. 51(3), 523–535 (1995)

    Article  MATH  MathSciNet  Google Scholar 

  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)

    Article  MATH  Google Scholar 

  18. Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)

    Google Scholar 

  19. Clarke, E.M., Wing, J.M.: Formal methods: State of the art and future directions. ACM Computing Surveys 28, 626–643 (1996)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

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

    Chapter  Google Scholar 

  23. Ebbinghaus, H.D., Flum, J.: Finite Model Theory. In: Perspectives in Mathematical Logic. Springer, Heidelberg (1995)

    Google Scholar 

  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. 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. 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. 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. 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. Godefroid, P., Wolper, P.: A partial approach to model checking. Information and Computation 110(2), 305–326 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  30. Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Francisco (1993)

    MATH  Google Scholar 

  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. 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. 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. Holzmann, G.J.: The model checker SPIN. IEEE Trans. on Software Engineering 23(5), 279–295 (1997); Special issue on Formal Methods in Software Practice

    Article  MathSciNet  Google Scholar 

  35. Hughes, G.E., Cresswell, M.J.: A New Introduction to Modal Logic. Routledge, London (1996)

    Google Scholar 

  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. 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. Kozen, D.: Results on the propositional μ-calculus. Theoretical Computer Science 27, 333–354 (1983)

    Article  MATH  MathSciNet  Google Scholar 

  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)

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. Kupferman, O., Vardi, M.Y.: Weak alternating automata are not that weak. ACM Trans. on Computational Logic 2001(2), 408–429 (2001)

    Article  MathSciNet  Google Scholar 

  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)

    Article  MATH  MathSciNet  Google Scholar 

  47. Kurshan, R.P.: Computer Aided Verification of Coordinating Processes. Princeton Univ. Press, Princeton (1994)

    Google Scholar 

  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. 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. 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. 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. Maier, D.: The Theory of Relational Databases. Computer Science Press, Rockville (1983)

    Google Scholar 

  53. Muller, D.E., Schupp, P.E.: The theory of ends, pushdown automata, and second-order logic. Theoretical Computer Science 37, 51–75 (1985)

    Article  MATH  MathSciNet  Google Scholar 

  54. Muller, D.E., Schupp, P.E.: Alternating automata on infinite trees. Theoretical Computer Science 54, 267–276 (1987)

    Article  MATH  MathSciNet  Google Scholar 

  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)

    Chapter  Google Scholar 

  56. Neven, F.: Automata theory for xml researchers. SIGMOD Record 31(3), 39–46 (2002)

    Article  Google Scholar 

  57. Goodman, N., Bernstein, P.A., Hadzilacos, V.: Concurrency Control and Recovery in Database Systems. Addison-Wesley, Reading (1987)

    Google Scholar 

  58. Papadimitiou, C.: Theory of Database Concurrency Control. Computer Science Press, Rockville (1986)

    Google Scholar 

  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. 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. 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. Pnueli, A.: The temporal logic of programs. In: Proc. 18th IEEE Symp. on Foundation of Computer Science, pp. 46–57 (1977)

    Google Scholar 

  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. 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. Spielmann, M.: Verification of relational transducers for electronic commerce. J. Comput. Syst. Sci. 66, 40–65 (2003)

    Article  MATH  MathSciNet  Google Scholar 

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

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. Vardi, M.Y., Wolper, P.: Reasoning about infinite computations. Information and Computation 115(1), 1–37 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  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. Weikum, G., Vossen, G.: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control. Morgan Kaufmann, San Francisco (2001)

    Google Scholar 

  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)

    Chapter  Google Scholar 

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

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Vardi, M.Y. (2004). Model Checking for Database Theoreticians. In: Eiter, T., Libkin, L. (eds) Database Theory - ICDT 2005. ICDT 2005. Lecture Notes in Computer Science, vol 3363. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30570-5_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30570-5_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-24288-8

  • Online ISBN: 978-3-540-30570-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics