Skip to main content

Derivation of proof methods by abstract interpretation

  • Conference paper
  • First Online:
Principles of Declarative Programming (ALP 1998, PLILP 1998)

Abstract

We study the application of abstract interpretation to the design of inductive methods for verifying properties of logic programs. We give a unified view of inductive assertion-based proof methods for logic programs, by systematically deriving them in a uniform way using Abstract Interpretation. The resulting verification framework allows us to reconstruct several existing verification methods and to understand the relation among them in terms of abstractions. Moreover, we can tackle the problem of establishing the completeness of the proof methods.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. K. Apt. From Logic Programming to Prolog. Prentice Hall, 1997.

    Google Scholar 

  2. K. R. Apt. Introduction to Logic Programming. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B: Formal Models and Semantics, pages 495–574. Elsevier, Amsterdam and The MIT Press, Cambridge, 1990.

    Google Scholar 

  3. K. R. Apt and E. Marchiori. Reasoning about Prolog Programs: from Modes through Types to Assertions. Formal Aspects of Computing, 3, 1994.

    Google Scholar 

  4. G. Birkhoff. Lattice Theory. In AMS Colloquium Publication, third ed., 1967.

    Google Scholar 

  5. A. Bossi and N. Cocco. Verifying Correctness of Logic Programs. In J. Diaz and F. Orejas, editors, Proc. TAPSOFT'89, pages 96–110, 1989.

    Google Scholar 

  6. F. Bourdoncle. Abstract debugging of higher-order imperative languages. In Programming Languages Design and Implementation '93, pages 46–55, 1993.

    Google Scholar 

  7. J. Boye and J. Maluszynski. Directional Types and the Annotation Method. Journal of Logic Programming, 33(3):179–220, 1997.

    Article  MATH  MathSciNet  Google Scholar 

  8. F. Bueno, P. Deransart, W. Drabent, G. Ferrand, M. Hermenegildo, J. Maluszynski, and G. Puebla. On the Role of Semantic Approximations in Validation and Diagnosis of Constraint Logic Programs. In Proc. of the 3rd. Int'l Workshop on Automated Debugging-AADEBUG'97, pages 155–170, Linkoping, Sweden, May 1997. U. of Linkoping Press.

    Google Scholar 

  9. K. L. Clark. Predicate logic as a computational formalism. Res. Report DOC 79/59, Imperial College, Dept. of Computing, London, 1979.

    Google Scholar 

  10. M. Comini. An abstract interpretation framework for Semantics and Diagnosis of logic programs. PhD thesis, Dipartimento di Informatica, Università di Pisa, 1998.

    Google Scholar 

  11. M. Comini, G. Levi, and M. C. Meo. Compositionality of SLD-derivations and their abstractions. In J. Lloyd, editor, Proceedings of the 1995 Int'l Symposium on Logic Programming, pages 561–575. The MIT Press, 1995.

    Google Scholar 

  12. M. Comini, G. Levi, M. C. Meo, and G. Vitiello. Abstract Diagnosis. Submitted for publication, 1996.

    Google Scholar 

  13. M. Comini, G. Levi, M. C. Meo, and G. Vitiello. Proving properties of logic programs by abstract diagnosis. In M. Dams, editor, Analysis and Verification of Multiple-Agent Languages, 5th LOMAPS Workshop, number 1192 in Lecture Notes in Computer Science, pages 22–50. Springer-Verlag, 1996.

    Google Scholar 

  14. M. Comini and M. C. Meo. Compositionality Properties of SLD-derivations. Theoretical Computer Science, 1997. To appear. Available at http://www.di.unipi.it/~comini/papers.html.

    Google Scholar 

  15. P. Cousot. Methods and Logics for Proving Programs. In J. V. Leeuwen, editor, Formal Methods and Semantics, volume B of Handbook of Theoretical Computer Science, pages 843–993. Elsevier Science Publishers B.V. (North-Holland), 1990.

    Google Scholar 

  16. P. Cousot. Constructive Design of a Hierarchy of Semantics of a Transition system by Abstract Interpretation. Electronic Notes in Theoretical Computer Science, 6, 1997. URL:http://www.elsevier.nl/locate/entcs/volume6.html.

    Google Scholar 

  17. P. Cousot and R. Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In Proc. Fourth ACM Symp. Principles of Programming Languages, pages 238–252, 1977.

    Google Scholar 

  18. P. Cousot and R. Cousot. Systematic Design of Program Analysis Frameworks. In Proc. Sixth ACM Symp. Principles of Programming Languages, pages 269–282, 1979.

    Google Scholar 

  19. P. Cousot and R. Cousot. Abstract Interpretation Frameworks. Journal of Logic and Computation, 2(4):511–549, 1992.

    MATH  MathSciNet  Google Scholar 

  20. P. Cousot and R. Cousot. Inductive Definitions, Semantics and Abstract Interpretation. In Proc. Nineteenth Annual ACM Symp. on Principles of Programming Languages, pages 83–94. ACM Press, 1992.

    Google Scholar 

  21. P. Deransart. Proof Methods of Declarative Properties of Definite Programs. Theoretical Computer Science, 118(2):99–166, 1993.

    Article  MATH  MathSciNet  Google Scholar 

  22. W. Drabent. It is Declarative. In ILPS'97. Workshop on Verification, Model Checking and Abstract Interpretation, 1997.

    Google Scholar 

  23. W. Drabent and J. Maluszynski. Inductive Assertion Method for Logic Programs. Theoretical Computer Science, 59(1):133–155, 1988.

    Article  MATH  MathSciNet  Google Scholar 

  24. M. Falaschi, G. Levi, M. Martelli, and C. Palamidessi. Declarative Modeling of the Operational Behavior of Logic Languages. Theoretical Computer Science, 69(3):289–318, 1989.

    Article  MATH  MathSciNet  Google Scholar 

  25. R. Giacobazzi and F. Ranzato. Completeness in abstract interpretation: A domain perspective. In M. Johnson, editor, Proc. of the 6th International Conference on Algebraic Methodology and Software Technology (AMAST'97), volume 1349 of Lecture Notes in Computer Science, pages 231–245. Springer-Verlag, Berlin, 1997.

    Google Scholar 

  26. E. Marchiori. A Logic for Variable Aliasing in Logic Programs. In G. Levi and M. Rodriguez-Artalejo, editors, Proceedings of the 4th International Conference on Algebraic and Logic Programming (ALP'94), number 850 in LNCS, pages 287–304. Springer Verlag, 1994.

    Google Scholar 

  27. E. Marchiori. Design of Abstract Domains using First-order Logic. In M. Hanus and M. Rodriguez-Artalejo, editors, Proceedings of the 5th International Conference on Algebraic and Logic Programming (ALP'96), number 1139 in LNCS, pages 209–223. Springer Verlag, 1996.

    Google Scholar 

  28. D. Park. Fixpoint Induction and Proofs of Program Properties. In B. Meltzer and D. Michie, editors, Machine Intelligence, number 5, pages 59–78. Edinburgh Univ. Press, 1969.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Catuscia Palamidessi Hugh Glaser Karl Meinke

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Levi, G., Volpe, P. (1998). Derivation of proof methods by abstract interpretation. In: Palamidessi, C., Glaser, H., Meinke, K. (eds) Principles of Declarative Programming. ALP PLILP 1998 1998. Lecture Notes in Computer Science, vol 1490. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0056610

Download citation

  • DOI: https://doi.org/10.1007/BFb0056610

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65012-6

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics