Building Complete Abstract Interpretations in a Linear Logic-Based Setting
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.
Unable to display preview. Download preview PDF.
- 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.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.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.P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In Proc. 6th ACM POPL, pages 269–282, 1979.Google Scholar
- 6.P. Cousot and R. Cousot. Inductive definitions, semantics and abstract interpretation. In Proc. 19th ACM POPL, pages 83–94, 1992.Google Scholar
- 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
- 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.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.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
- 16.K.I Rosenthal. Quantales and their Applications. Longman Scientific & Technical, 1990.Google Scholar
- 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