Skip to main content

Verification of Sets of Infinite State Processes Using Program Transformation

  • Conference paper
  • First Online:
Logic Based Program Synthesis and Transformation (LOPSTR 2001)

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

Abstract

We present a method for the verification of safety properties of concurrent systems which consist of finite sets of infinite state processes. Systems and properties are specified by using constraint logic programs, and the inference engine for verifying properties is provided by a technique based on unfold/fold program transformations. We deal with properties of finite sets of processes of arbitrary cardinality, and in order to do so, we consider constraint logic programs where the constraint theory is the Weak Monadic Second Order Theory of k Successors. Our verification method consists in transforming the programs that specify the properties of interest into equivalent programs where the truth of these properties can be checked by simple inspection in constant time. We present a strategy for guiding the application of the unfold/fold rules and realizing the transformations in a semiautomatic way.

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. G. R. Andrews. Concurrent programming: principles and practice. Addison-Wesley, 1991.

    Google Scholar 

  2. K. R. Apt and R. N. Bol. Logic programming and negation: A survey. Journal of Logic Programming, 19, 20:9–71, 1994.

    Article  MathSciNet  Google Scholar 

  3. K. R. Apt and D. C. Kozen. Limits for automatic verification of finite-state concurrent systems. Information Processing Letters, 22(6):307–309, 1986.

    Article  MathSciNet  Google Scholar 

  4. M. Bozzano and G. Delzanno. Beyond parameterized verification. In Proceedings of the Eighth International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’02)”, Lecture Notes in Computer Science 2280, pages 221–235. Springer, 2002.

    Chapter  Google Scholar 

  5. R. M. Burstall and J. Darlington. A transformation system for developing recursive programs. Journal of the ACM, 24(1):44–67, January 1977.

    Google Scholar 

  6. E. M. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, 2000.

    Google Scholar 

  7. G. Delzanno and A. Podelski. Model checking in CLP. In R. Cleaveland, editor, 5th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’99), Lecture Notes in Computer Science 1579, pages 223–239. Springer-Verlag, 1999.

    Chapter  Google Scholar 

  8. H. Enderton. A Mathematical Introduction to Logic. Academic Press, 1972.

    Google Scholar 

  9. S. Etalle and M. Gabbrielli. Transformations of CLP modules. Theoretical Computer Science, 166:101–146, 1996.

    Article  MATH  MathSciNet  Google Scholar 

  10. F. Fioravanti. MAP: A system for transforming constraint logic programs. available at http://www.iasi.rm.cnr.it/~fioravan , 2001.

  11. F. Fioravanti. Transformation of Constraint Logic Programs for Software Specialization and Verification. PhD thesis, Università di Roma “La Sapienza”, Italy, 2002.

    Google Scholar 

  12. F. Fioravanti, A. Pettorossi, and M. Proietti. Verifying CTL properties of infinite state systems by specializing constraint logic programs. In Proceedings of the ACM Sigplan Workshop on Verification and Computational Logic VCL’01, Florence (Italy), Technical Report DSSE-TR-2001-3, pages 85–96. University of Southampton, UK, 2001.

    Google Scholar 

  13. L. Fribourg and H. Olsén. A decompositional approach for computing least fixed-points of Datalog programs with z-counters. Constraints, 2(3/4):305–335, 1997.

    Article  MATH  MathSciNet  Google Scholar 

  14. J. Jaffar and M. Maher. Constraint logic programming: A survey. Journal of Logic Programming, 19/20:503–581, 1994.

    Article  MathSciNet  Google Scholar 

  15. N. Klarlund and A. Møller. MONA Version 1.4 User Manual. BRICS Notes Series NS-01-1, Department of Computer Science, University of Aarhus, January 2001.

    Google Scholar 

  16. L. Lamport. A new solution of Dijkstra’s concurrent programming problem. Communications of the ACM, 17(8):453–455, 1974.

    Article  MATH  MathSciNet  Google Scholar 

  17. M. Leuschel and T. Massart. Infinite state model checking by abstract interpretation and program specialization. In A. Bossi, editor, Proceedings of LOPSTR’ 99, Venice, Italy, Lecture Notes in Computer Science 1817, pages 63–82. Springer, 1999.

    Google Scholar 

  18. K. L. McMillan, S. Qadeer, and J. B. Saxe. Induction in compositional model checking. In CAV 2000, Lecture Notes in Computer Science 1855, pages 312–327. Springer, 2000.

    Google Scholar 

  19. U. Nilsson and J. Lübcke. Constraint logic programming for local and symbolic model-checking. In J. W. Lloyd, editor, CL 2000: Computational Logic, Lecture Notes in Artificial Intelligence 1861, pages 384–398, 2000.

    Google Scholar 

  20. A. Pettorossi and M. Proietti. Transformation of logic programs: Foundations and techniques. Journal of Logic Programming, 19,20:261–320, 1994.

    Article  MathSciNet  Google Scholar 

  21. L. Prensa-Nieto. Completeness of the Owicki-Gries system for parameterized parallel programs. In Formal Methods for Parallel Programming: Theory and Applications, FMPPTA 2001. IEEE Computer Society Press, 2001.

    Google Scholar 

  22. Y. S. Ramakrishna, C. R. Ramakrishnan, I. V. Ramakrishnan, S. A. Smolka, T. Swift, and D. S. Warren. Efficient model checking using tabled resolution. In CAV’ 97, Lecture Notes in Computer Science 1254, pages 143–154. Springer-Verlag, 1997.

    Google Scholar 

  23. A. Roychoudhury and I.V. Ramakrishnan. Automated inductive verification of parameterized protocols. In CAV 2001, pages 25–37, 2001.

    Google Scholar 

  24. H. Seki. Unfold/fold transformation of stratified programs. Theoretical Computer Science, 86:107–139, 1991.

    Article  MATH  MathSciNet  Google Scholar 

  25. N. Shankar. Combining theorem proving and model checking through symbolic analysis. In CONCUR 2000: Concurrency Theory, number 1877 in Lecture Notes in Computer Science, pages 1–16, State College, PA, August 2000. Springer-Verlag.

    Chapter  Google Scholar 

  26. H. Tamaki and T. Sato. Unfold/fold transformation of logic programs. In S.-Å. Tärnlund, editor, Proceedings of the Second International Conference on Logic Programming, Uppsala, Sweden, pages 127–138. Uppsala University, 1984.

    Google Scholar 

  27. J. W. Thatcher and J. B. Wright. Generalized finite automata with an application to a decision problem of second-order logic. Mathematical System Theory, 2:57–82, 1968.

    Article  MathSciNet  Google Scholar 

  28. W. Thomas. Languages, automata, and logic. In G. Rozenberg and A. Salomaa, editors, Handbook of Formal Languages, volume 3, pages 389–455. Springer, 1997.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Fioravanti, F., Pettorossi, A., Proietti, M. (2002). Verification of Sets of Infinite State Processes Using Program Transformation. In: Pettorossi, A. (eds) Logic Based Program Synthesis and Transformation. LOPSTR 2001. Lecture Notes in Computer Science, vol 2372. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45607-4_7

Download citation

  • DOI: https://doi.org/10.1007/3-540-45607-4_7

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-45607-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics