Advertisement

Abstract Domains for Universal and Existential Properties

  • Andrew Heaton
  • Patricia M. Hill
  • Andy King
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1782)

Abstract

Abstract interpretation theory has successfully been used for constructing algorithms to statically determine run-time properties of programs. Central is the notion of an abstract domain, describing certain properties of interest about the program. In logic programming, program analyses typically fall into two different categories: either they detect program points where the property definitely holds (universal analyses) or possibly holds (existential analyses). We study the relation between such analyses in the case where the concrete domain is a lattice join- generated by its set of join-irreducible elements. Although our intended application is for logic programming, the theory is sufficiently general for possible applications to other languages.

References

  1. 1.
    R. Bagnara, P. M. Hill, and E. Zaffanella. Set-sharing is redundant for pair-sharing. In P. Van Hentenryck, editor, Static Analysis: Proceedings of the 4th International Symposium, volume 1302, pages 53–67, Paris, France, 1997.Google Scholar
  2. 2.
    R. Balbes and P. Dwinger. Distributive Lattices. University of Missouri Press, Columbia, Missouri, 1974.zbMATHGoogle Scholar
  3. 3.
    G. Birkhoff. Lattice Theory. AMS Colloquium Publication, Providence, RI, 3rd edition, 1967.zbMATHGoogle Scholar
  4. 4.
    M. Codish, A. Mulkers, M. Bruynooghe, M. García de la Banda, and M. Hermenegildo. Improving abstract interpretations by combining domains. ACM Transactions on Programming Languages and Systems, 17(1):28–44, 1995.CrossRefGoogle Scholar
  5. 5.
    A. Cortesi and G. Filé. Sharing is Optimal. Journal of Logic Programming, 38(3):371–386, 1999.zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    A. Cortesi, G. Filé, and W. Winsborough. Optimal Groundness Analysis Using Propositional Logic. Journal of Logic Programming, 27(2):137–167, 1996.zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    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
  8. 8.
    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
  9. 9.
    P. Cousot and R. Cousot. Abstract Interpretation and Applications to Logic Programs. Journal of Logic Programming, 13(2 & 3):103–179, 1992.zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    R. Giacobazzi and F. Ranzato. Refining and Compressing Abstract Domains. In Proceedings of the 24th International Colloquium on Automata, Languages and Programming ICALP 97, volume 1256 of Lecture Notes in Computer Science, pages 771–781. Springer-Verlag, 1997.Google Scholar
  11. 11.
    R. Giacobazzi and F. Ranzato. Optimal Domains for Disjunctive Abstract Interpretation. Science of Computer Programming, 32:177–210, 1998.zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    R. Giacobazzi, F. Ranzato, and F. Scozzari. Making Abstract Interpretations Complete. Journal of the ACM. (to appear).Google Scholar
  13. 13.
    R. Giacobazzi, F. Ranzato, and F. Scozzari. Building Complete Abstract Interpretations in a Linear Logic-based Setting. In G. Levi, editor, Static Analysis, Proceedings of the Fifth International Static Analysis Symposium SAS 98, volume 1503 of Lecture Notes in Computer Science, pages 215–229. Springer-Verlag, 1998.Google Scholar
  14. 14.
    R. Giacobazzi and F. Scozzari. A Logical Model for Relational Abstract Domains. ACM Transactions on Programming Languages and Systems, 20(5):1067–1109, 1998.CrossRefGoogle Scholar
  15. 15.
    P. Hill and F. Spoto. Freeness Analysis through Linear Refinement. In Static Analysis: Proceedings of the 6th International Symposium, volume 1694, pages 85–100, 1999.Google Scholar
  16. 16.
    N.D. Jones and H. Søndergaard. A Semantics-based Framework for the Abstract Interpretation of Prolog. In S. Abramsky and C. Hankin, editors, Abstract Interpretation of Declarative Languages, pages 123–142. Ellis Horwood Ltd, 1987.Google Scholar
  17. 17.
    F. Levi. A Symbolic Semantics for Abstract Model Checking. In Static Analysis: Proceedings of the 5th International Symposium, volume 1503, pages 134–151, 1998.Google Scholar
  18. 18.
    F. Scozzari. Logical Optimality of Groundness Analysis. In P. Van Hentenryck, editor, Proceedings of International Static Analysis Symposium, SAS’97, volume 1302 of Lecture Notes in Computer Science, pages 83–97. Springer-Verlag, 1997.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Andrew Heaton
    • 1
  • Patricia M. Hill
    • 1
  • Andy King
    • 2
  1. 1.School of Computer StudiesUniversity of LeedsUK
  2. 2.Computing LaboratoryUniversity of Kent at CanterburyUK

Personalised recommendations