login

An interval-based approach to exhaustive and incremental interprocedural data-flow analysis

ACM Transactions on Programming Languages and SystemsPublished 1 July 1990Open access
Michael Burke
Citations130
SJR quartileQ2
SJR score0.56
SNIP1.52
View PDF

Abstract

We reformulate interval analysis so that it can he applied to any monotone data-flow problem, including the nonfast problems of flow-insensitive interprocedural analysis. We then develop an incremental interval analysis technique that can be applied to the same class of problems. When applied to flow-insensitive interprocedural data-flow problems, the resulting algorithms are simple, practical, and efficient. With a single update, the incremental algorithm can accommodate any sequence of program changes that does not alter the structure of the program call graph. It can also accommodate a large class of structural changes. For alias analysis, we develop an incremental algorithm that obtains the exact solution as computed by an exhaustive algorithm. Finally, we develop a transitive closure algorithm that is particularly well suited to the very sparse matrices associated with the problems we address.

Keywords

Computer Science