Advertisement

Derivation of proof methods by abstract interpretation

  • Giorgio Levi
  • Paolo Volpe
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1490)

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.

Keywords

Inductive proof methods abstract interpretation abstract domains 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    K. Apt. From Logic Programming to Prolog. Prentice Hall, 1997.Google Scholar
  2. 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. 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. 4.
    G. Birkhoff. Lattice Theory. In AMS Colloquium Publication, third ed., 1967.Google Scholar
  5. 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. 6.
    F. Bourdoncle. Abstract debugging of higher-order imperative languages. In Programming Languages Design and Implementation '93, pages 46–55, 1993.Google Scholar
  7. 7.
    J. Boye and J. Maluszynski. Directional Types and the Annotation Method. Journal of Logic Programming, 33(3):179–220, 1997.MATHMathSciNetCrossRefGoogle Scholar
  8. 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. 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. 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. 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. 12.
    M. Comini, G. Levi, M. C. Meo, and G. Vitiello. Abstract Diagnosis. Submitted for publication, 1996.Google Scholar
  13. 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. 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. 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. 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. 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. 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. 19.
    P. Cousot and R. Cousot. Abstract Interpretation Frameworks. Journal of Logic and Computation, 2(4):511–549, 1992.MATHMathSciNetGoogle Scholar
  20. 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. 21.
    P. Deransart. Proof Methods of Declarative Properties of Definite Programs. Theoretical Computer Science, 118(2):99–166, 1993.MATHMathSciNetCrossRefGoogle Scholar
  22. 22.
    W. Drabent. It is Declarative. In ILPS'97. Workshop on Verification, Model Checking and Abstract Interpretation, 1997.Google Scholar
  23. 23.
    W. Drabent and J. Maluszynski. Inductive Assertion Method for Logic Programs. Theoretical Computer Science, 59(1):133–155, 1988.MATHMathSciNetCrossRefGoogle Scholar
  24. 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.MATHMathSciNetCrossRefGoogle Scholar
  25. 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. 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. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Giorgio Levi
    • 1
  • Paolo Volpe
    • 1
  1. 1.Dipartimento di InformaticaUniversità di PisaPisaItaly

Personalised recommendations