Making abstract interpretations complete

By: R. Giacobazzi, F. Ranzato, and F. Scozzari

Roberto Giacobazzi
Dip. Scientifico e Tecnologico
Univ. di Verona
Strada Le Grazie a Ca' Vignal 2, 37134 Verona (Italy)


Completeness is a desirable, 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-based completeness. Both completeness and fixpoint completeness are shown to be properties that only depend on the underlying abstract domains. 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, greatest fixpoint complete restrictions of abstract domains are constructively characterized, while it is shown that the existence of least fixpoint complete extensions 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. In the field of abstract interpretation-based program analysis, a number of examples illustrating these techniques are given.

Available from the JACM-upcoming page:

Related papers:
  • A Unifying View on Abstract Domain Design (ACM Comp. Surveys 28(2), 1996)
  • Refining and compressing abstract domains (ICALP'97, LNCS 1256: 771-781, 1997)
  • Completeness in abstract interpretation: A domain perspective (AMAST'97, LNCS 1349: 231-245, 1997)
  • Complete abstract interpretations made constructive (MFCS'98, LNCS 1450:366-377, 1998)
  • Building Complete Abstract Interpretations in a Linear Logic-based Setting (SAS'98, LNCS, 1998)