Contribution
The quotient of an abstract interpretation

https://doi.org/10.1016/S0304-3975(97)00137-0Get rights and content
Under an Elsevier user license
open archive

Abstract

Within the abstract interpretation framework, abstract domains are used to represent interesting properties of the concrete domain. For instance, properties that enhance the optimization of the analyzed programs. An abstract domain D expresses, in general, several properties of the concrete domain.

We describe a method for identifying, for any abstract domain D and for each property P expressed by D, the subset of D that is useful for computing P-information. We call it the quotient of D with respect to P. We also give a necessary and sufficient condition for having that the quotient is an abstraction of D. This property seems essential for applications such as that described below.

As an illustration of the usefulness of the notion of quotient, we show that rather sophisticated comparisons between domains, can be carried out using it. Assume to have two abstract domains that both compute some property P, but that also express distinct properties and thus are incomparable as a whole. Such domains can be compared with respect to the precision with which they compute P-information, by comparing their quotients with respect to P.

Using this method, two well-known abstract domains for Prolog programs, Prop and Sharing, are compared with respect to the precision with which they compute groundness information.

Cited by (0)