Making abstract interpretations complete
Top Cited Papers
- 1 March 2000
- journal article
- Published by Association for Computing Machinery (ACM) in Journal of the ACM
- Vol. 47 (2) , 361-416
- https://doi.org/10.1145/333979.333989
Abstract
Completeness is an ideal, although uncommon, feature of abstract interpretations, formalizing the intuition that, relatively to the properties encoded by the underlying abstract domains, there is no loss of information accumulated in abstract computations. Thus, complete abstract interpretations can be rightly understood as optimal. We deal with both pointwise completeness, involving generic semantic operations, and (least) fixpoint completeness. Completeness and fixpoint completeness are shown to be properties that depend on the underlying abstract domains only. Our primary goal is then to solve the problem of making abstract interpretations complete by minimally extending or restricting the underlying abstract domains. Under the weak and reasonable hypothesis of dealing with continuous semantic operations, we provide constructive characterizations for the least complete extensions and the greatest complete restrictions of abstract domains. As far as fixpoint completeness is concerned, for merely monotone semantic operators, the greatest restrictions of abstract domains are constructively characterized, while it is shown that the existence of least extensions of abstract domains cannot be, in general, guaranteed, even under strong hypotheses. These methodologies, which in finite settings give rise to effective algorithms, provide advanced formal tools for manipulating and comparing abstract interpretations, useful both in static program analysis and in semantics design. A number of examples illustrating these techniques are given.Keywords
This publication has 41 references indexed in Scilit:
- Constructive design of a hierarchy of semantics of a transition system by abstract interpretationTheoretical Computer Science, 2002
- Characterization of a sequentially consistent memory and verification of a cache memory by abstractionDistributed Computing, 1999
- Optimal domains for disjunctive abstract interpretationScience of Computer Programming, 1998
- The quotient of an abstract interpretationTheoretical Computer Science, 1998
- Optimal groundness analysis using propositional logicThe Journal of Logic Programming, 1996
- Evaluation of the domain propThe Journal of Logic Programming, 1995
- Fixed-point calculusInformation Processing Letters, 1995
- Property preserving abstractions for the verification of concurrent systemsFormal Methods in System Design, 1995
- Strictness analysis for higher-order functionsScience of Computer Programming, 1986
- On finite computations in denotational semanticsTheoretical Computer Science, 1983