Lecture notes in computer science vol:1000 pages:406-425
This paper focuses on one of the key steps in the design of semantic based analyses for logic programs - the definition of an abstract unification algorithm for a given notion of data description. We survey some of the major notions of data descriptions proposed in the context of mode and sharing analyses. We demonstrate how a careful and systematic analysis of the underlying concrete unification algorithm contributes to the design of the abstract algorithm. Several relevant properties of concrete substitutions which influence the design of abstract domains and algorithms are described. We make use of a novel representation called abstract equation systems to uniformly represent a a wide range of data descriptions for such analyses proposed in the literature.