Building Complete Abstract Interpretations in a Linear Logic-Based Setting

  • Roberto Giacobazzi
  • Francesco Ranzato
  • Francesca Scozzari
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1503)

Abstract

Completeness is an important, but rather uncommon, property of abstract interpretations, ensuring that abstract computations are as precise as possible w.r.t. concrete ones. It turns out that completeness for an abstract interpretation depends only on its underlying abstract domains, and therefore it is an abstract domain property. Recently, the first two authors proved that for a given abstract domain A, in all significant cases, there exists the most abstract domain, called least complete extension of A, which includes A and induces a complete abstract interpretation. In addition to the standard formulation, we introduce and study a novel and particularly interesting type of completeness, called observation completeness. Standard and observation completeness are here considered in the context of quantales, i.e. models of linear logic, as concrete interpretations. In this setting, we prove that various kinds of least complete and observationally complete extensions exist and, more importantly, we show that such complete extensions can all be explicitly characterized by elegant linear logic-based formulations. As an application, we determine the least complete extension of a generic abstract domain w.r.t. a standard bottom-up semantics for logic programs observing computed answer substitutions. This general result is then instantiated to the relevant case of groundness analysis.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    A. Bossi, M. Gabbrielli, G. Levi, and M. Martelli. The s-semantics approach: theory and applications. J. Logic Program., 19–20:149–197, 1994.CrossRefMathSciNetGoogle Scholar
  2. 2.
    P. Cousot. Completeness in abstract interpretation (Invited Talk). In Proc. 1995 Joint Italian-Spanish Conference on Declarative Programming, pages 37–38, 1995.Google Scholar
  3. 3.
    P. Cousot. Constructive design of a hierarchy of semantics of a transition system by abstract interpretation (Invited Paper). In Proc. of the 13th Int. Symp. on Math. Found. of Programming Semantics (MFPS’97), vol. 6 of Electronic Notes in Theor. Comput. Sci., 1997.Google Scholar
  4. 4.
    P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proc. 4th ACM POPL, pages 238–252, 1977.Google Scholar
  5. 5.
    P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In Proc. 6th ACM POPL, pages 269–282, 1979.Google Scholar
  6. 6.
    P. Cousot and R. Cousot. Inductive definitions, semantics and abstract interpretation. In Proc. 19th ACM POPL, pages 83–94, 1992.Google Scholar
  7. 7.
    P. Cousot and R. Cousot. Abstract interpretation of algebraic polynomial systems. In Proc. 6th Int. Conf. on Algebraic Methodology and Software Technology (AMAST’97), LNCS 1349, pages 138–154, 1997.CrossRefGoogle Scholar
  8. 8.
    M. Falaschi, G. Levi, M. Martelli, and C. Palamidessi. Declarative modeling of the operational behavior of logic languages. Theor. Comput. Sci., 69(3):289–318, 1989.MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    R. Giacobazzi. “Optimal” collecting semantics for analysis in a hierarchy of logic program semantics. In Proc. 13th Int. Symp. on Theor. Aspects of Comput. Sci. (STACS’96), LNCS 1046, pages 503–514, 1996.Google Scholar
  10. 10.
    R. Giacobazzi and F. Ranzato. Completeness in abstract interpretation: a domain perspective. In Proc. 6th Int. Conf. on Algebraic Methodology and Software Technology (AMAST’97), LNCS 1349, pages 231–245, 1997.CrossRefGoogle Scholar
  11. 11.
    R. Giacobazzi, F. Ranzato and F. Scozzari. Complete abstract interpretations made constructive. In Proc. 23rd Int. Symp. on Math. Found. of Comp. Sci. (MFCS’98), LNCS, 1998.Google Scholar
  12. 12.
    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
  13. 13.
    A. Mycroft. Completeness and predicate-based abstract interpretation. In Proc. ACM Conf. on Partial Evaluation and Program Manipulation (PEPM’93), pages 179–185, 1993.Google Scholar
  14. 14.
    C. Palamidessi. Algebraic properties of idempotent substitutions. In Proc. 17th Int. Colloq. on Automata, Languages and Programming (ICALP’90), LNCS 443, pages 386–399, 1990.CrossRefGoogle Scholar
  15. 15.
    U.S. Reddy and S.N. Kamin. On the power of abstract interpretation. Computer Languages, 19(2):79–89, 1993.MATHCrossRefGoogle Scholar
  16. 16.
    K.I Rosenthal. Quantales and their Applications. Longman Scientific & Technical, 1990.Google Scholar
  17. 17.
    R.C. Sekar, P. Mishra, and I.V. Ramakrishnan. On the power and limitation of strictness analysis. J. ACM, 44(3):505–525, 1997.MATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    B. Steffen. Optimal data flow analysis via observational equivalence. In Proc. 14th Int. Symp. on Math. Found. of Comp. Sci. (MFCS’89), LNCS 379, pages 492–502, 1989.Google Scholar
  19. 19.
    D. Yetter. Quantales and (noncommutative) linear logic. J. Symbolic Logic, 55(1):41–64, 1990.MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Roberto Giacobazzi
    • 1
  • Francesco Ranzato
    • 2
  • Francesca Scozzari
    • 1
  1. 1.Dipartimento di InformaticaUniversità di PisaPisaItaly
  2. 2.Dipartimento di Matematica Pura ed ApplicataUniversità di PadovaPadovaItaly

Personalised recommendations