Making abstract domains condensing

  • Authors:
  • Roberto Giacobazzi;Francesco Ranzato;Francesca Scozzari

  • Affiliations:
  • Universitá di Verona, Italy;Universitá di Padova, Italy;Universitá di Pisa, Italy

  • Venue:
  • ACM Transactions on Computational Logic (TOCL)
  • Year:
  • 2005

Quantified Score

Hi-index 0.01

Visualization

Abstract

In this article, we show that reversible analyses of logic languages by abstract interpretation can be performed without loss of precision by systematically refining abstract domains. This is obtained by adding to the abstract domain the minimal amount of concrete semantic information so that this refined abstract domain becomes rich enough to allow goal-driven and goal-independent analyses agree. These domains are known as condensing abstract domains. Essentially, an abstract domain A is condensing when the goal-driven analysis performed on A for a program P and a given query can be retrieved with no loss of precision from the goal-independent analysis on A of P. We show that condensation is an abstract domain property and that the problem of making an abstract domain condensing boils down to the problem of making the corresponding abstract interpretation complete, in a weakened form, with respect to unification. In the case of abstract domains for logic program analysis approximating computed answer substitutions, we provide a clean logical characterization of condensing domains as fragments of propositional linear logic. We apply our methodology to the systematic design of condensing domains for freeness and independence analysis.