We present the rational construction of a generic domain for structural information analysis of real CLP languages called Pattern(D ), where the parameter D is an abstract domain satisfying certain properties. Our domain builds on the parameterized domain for the analysis of logic programs Pat( ), which is due to Cortesi et al. However, the ation of our CLP abstract domain is independent from specific implementation techniques: Pat( ) (suitably extended in order to deal with CLP systems omitting the occurs-check) is one of the possible imtions. Reasoning at a higher level of abstraction we are able to appeal to familiar notions of unification theory. This higher level of abstraction also gives considerable more latitude for the implementer. Indeed, as demonstrated by the results summarized here, an analyzer that incorporates structural information analysis based on our approach can be highly competitive both from the precision and, contrary to popular belief, from the efficiency point ...
Roberto Bagnara, Patricia M. Hill, Enea Zaffanella