Skip to main content

Infinite State Model Checking by Abstract Interpretation and Program Specialisation

  • Conference paper
Logic-Based Program Synthesis and Transformation (LOPSTR 1999)

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

Abstract

We illustrate the use of logic programming techniques for finite model checking of CTL formulae. We present a technique for infinite state model checking of safety properties based upon logic program specialisation and analysis techniques. The power of the approach is illustrated on several examples. For that, the efficient tools logen and ecce are used. We discuss how this approach has to be extended to handle more complicated infinite state systems and to handle arbitrary CTL formulae.

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. Apt, K., Olderog, E.: Verification of Sequential and Concurrent Programs. Springer, Heidelberg (1991)

    MATH  Google Scholar 

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

    Chapter  Google Scholar 

  3. Bérard, B., Fribourg, L.: Reachability analysis of (timed) Petri nets using real arithmetic. In: Baeten, J.C.M., Mauw, S. (eds.) CONCUR 1999. LNCS, vol. 1664, pp. 178–193. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  4. Bossi, A., Gabrielli, M., Levi, G., Martelli, M.: The s-semantics approach: Theory and applications. The Journal of Logic Programming 19 & 20, 149–198 (1994)

    Article  Google Scholar 

  5. Bryant, R.: Symbolic boolean manipulation with ordered binary-decision diagrams. ACM Computing Surveys 24(3), 293–318 (1992)

    Article  Google Scholar 

  6. Burkart, O., Ezparza, J.: More infinite results. In: Proceedings of Infinity 1996, Research Report MIP-9614, University of Passau (1996)

    Google Scholar 

  7. Charatonik, W., Podelski, A.: Set-based analysis of reactive infinite-state systems. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, pp. 358–375. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  8. Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic verification of finitestate concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems 8(2), 244–263 (1986)

    Article  MATH  Google Scholar 

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

    Article  Google Scholar 

  10. De Schreye, D., Glück, R., Jørgensen, J., Leuschel, M., Martens, B., Sørensen, M.H.: Conjunctive partial deduction: Foundations, control, algorithms and experiments. The Journal of Logic Programming 41(2 & 3), 231–277 (1999)

    Article  MATH  Google Scholar 

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

    Chapter  Google Scholar 

  12. Ezparza, J.: Decidability of model-checking for infinite-state concurrent systems. Acta Informatica 34, 85–107 (1997)

    Article  MathSciNet  Google Scholar 

  13. Gallagher, J., Bruynooghe, M.: The derivation of an algorithm for program specialisation. New Generation Computing 9(3 & 4), 305–333 (1991)

    Article  Google Scholar 

  14. Glück, R., Leuschel, M.: Abstraction-based partial deduction for solving inverse problems - A transformational approach to software verification. In: Bjorner, D., Broy, M., Zamulin, A.V. (eds.) PSI 1999. LNCS, vol. 1755, pp. 93–100. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  15. Hartel, P., Butler, M., Currie, A., Henderson, P., Leuschel, M., Martin, A., Smith, A., Ultes-Nitsche, U., Walters, B.: Questions and Answers About Ten Formal Methods. In: Proceedings of FMICS 1999, Trento, Italy (1999)

    Google Scholar 

  16. Hatcliff, J., Dwyer, M.B., Laubach, S.: Staging static analyses using abstraction-based program specialization. In: Palamidessi, C., Meinke, K., Glaser, H. (eds.) ALP 1998 and PLILP 1998. LNCS, vol. 1490, pp. 134–151. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  17. Henzinger, T.A., Ho, P.-H.: 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)

    Google Scholar 

  18. Higman, G.: Ordering by divisibility in abstract algebras. Proceedings of the London Mathematical Society 2, 326–336 (1952)

    Article  MATH  MathSciNet  Google Scholar 

  19. Jørgensen, J., Leuschel, M.: Efficiently generating efficient generating extensions in Prolog. In: Danvy, O., Thiemann, P., Glück, R. (eds.) Dagstuhl Seminar 1996. LNCS, vol. 1110, pp. 238–262. Springer, Heidelberg (1996)

    Google Scholar 

  20. Kruskal, J.B.: Well-quasi ordering, the tree theorem, and Vazsonyi’s conjecture. Transactions of the American Mathematical Society 95, 210–225 (1960)

    MATH  MathSciNet  Google Scholar 

  21. Lassez, J.-L., Maher, M., Marriott, K.: Unification revisited. In: Minker, J. (ed.) Foundations of Deductive Databases and Logic Programming, pp. 587–625. Morgan-Kaufmann, San Francisco (1988)

    Google Scholar 

  22. Leuschel, M.: Improving homeomorphic embedding for online termination. In: Flener, P. (ed.) LOPSTR 1998. LNCS, vol. 1559, pp. 199–218. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  23. Leuschel, M.: On the power of homeomorphic embedding for online termination. In: Levi, G. (ed.) SAS 1998. LNCS, vol. 1503, pp. 230–245. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  24. Leuschel, M.: Program specialisation and abstract interpretation reconciled. In: Jaffar, J. (ed.) Proceedings of JICSLP 1998, Manchester, UK, June, pp. 220–234. MIT Press, Cambridge (1998)

    Google Scholar 

  25. Leuschel, M., De Schreye, D.: Logic program specialisation: How to be more specific. In: Kuchen, H., Swierstra, S.D. (eds.) PLILP 1996. LNCS, vol. 1140, pp. 137–151. Springer, Heidelberg (1996)

    Google Scholar 

  26. Leuschel, M., Jørgensen, J.: Efficient specialisation in Prolog using a handwritten compiler generator. Technical Report DSSE-TR-99-6, Department of Electronics and Computer Science, University of Southampton (September 1999)

    Google Scholar 

  27. Leuschel, M., Martens, B., De Schreye, D.: Controlling generalisation and polyvariance in partial deduction of normal logic programs. ACM Transactions on Programming Languages and Systems 20(1), 208–258 (1998)

    Article  Google Scholar 

  28. Liu, X., Ramakrishnan, C.R., Smolka, S.A.: Fully local and efficient evaluation of alternating fixed points (Extended abstract). In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, pp. 5–19. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  29. Lloyd, J.W., Shepherdson, J.C.: Partial evaluation in logic programming. The Journal of Logic Programming 11(3 & 4), 217–242 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  30. Marriott, K., Naish, L., Lassez, J.-L.: Most specific logic programs. Annals of Mathematics and Artificial Intelligence 1, 303–338 (1990)

    Article  MATH  Google Scholar 

  31. McMillan, K.L.: Symbolic Model Checking. PhD thesis, Boston (1993)

    Google Scholar 

  32. Moller, F.: Infinite results. In: Sassone, V., Montanari, U. (eds.) CONCUR 1996. LNCS, vol. 1119, pp. 195–216. Springer, Heidelberg (1996)

    Google Scholar 

  33. Nitsche, U., Wolper, P.: Relative liveness and behavior abstraction. In: Proceedings of PODC 1997, Santa Barbara, California, pp. 45–52. ACM, New York (1997)

    Chapter  Google Scholar 

  34. Przymusinksi, T.C.: On the declarative and procedural semantics of logic programs. Journal of Automated Reasoning 5(2), 167–205 (1989)

    MathSciNet  Google Scholar 

  35. Ramakrishna, Y.S., Ramakrishnan, C.R., Ramakrishnan, I.V., Smolka, S.A., Swift, T., Warrend, D.S.: Efficient model checking using tabled resolution. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254. Springer, Heidelberg (1997)

    Google Scholar 

  36. Rushby, J.: Mechanized formal methods: Where next? In: Wing, J.M., Woodcock, J.C.P., Davies, J. (eds.) FM 1999. LNCS, vol. 1708, pp. 48–51. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  37. Sagonas, K., Swift, T., Warren, D.S.: XSB as an efficient deductive database engine. In: Proceedings of the ACM SIGMOD International Conference on the Management of Data, Minneapolis, Minnesota, pp. 442–453. ACM, New York (1994)

    Google Scholar 

  38. Sørensen, M.H., Glück, R.: An algorithm of generalization in positive supercompilation. In: Lloyd, J.W. (ed.) Proceedings of ILPS 1995, Portland, USA, December 1995, pp. 465–479. MIT Press, Cambridge (1995)

    Google Scholar 

  39. Wolper, P., Boigelot, B.: Verifying systems with infinite but regular state spaces. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 88–97. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Leuschel, M., Massart, T. (2000). Infinite State Model Checking by Abstract Interpretation and Program Specialisation. In: Bossi, A. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 1999. Lecture Notes in Computer Science, vol 1817. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10720327_5

Download citation

  • DOI: https://doi.org/10.1007/10720327_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67628-7

  • Online ISBN: 978-3-540-45148-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics