Practical Aspects of Set Based Analysis.
Nevin Heintze · 1992
This paper demonstrates that very substantial progress can be made towards a practical system by redesigning the algorithms according to implementation criteria, designing appropriate representations techniques, and exploiting the redundancy which is typically present. An implementation is described and experimental evidence is presented which suggests that set based analysis can be made practical for comprehensive and accurate analysis of logic programs. 1 Introduction The set based approach to program analysis [3, 4, 5] has its origins in the use of constraints to perform type analysis of programs [12, 8, 10]. In essence set based analysis involves first writing set constraints (a calculus for expressing relationships between sets of program values) to describe the runtime behaviour of a program, and then solving these constraints to find their least model. This approach uses a single notion of approximation: all dependencies between the values of program variables are ignored. A major advantage of set based analysis is that it provides a very accurate treatment of structures. In particular there is no a priori limit on the depth or shape of sets of terms that can be represented