Acta Informatica 28, 121-163 (1990)
9 Springer-Verlag 1990
Properties of data flow frameworks
A unified model
T.J. Marlowe and B.G. Ryder
D e p a r t m e n t of C o m p u t e r Science Rutgers University, New Brunswick, N J 08903, U S A
Received June 6, 1988/August 10, 1990
Summary. A comprehensive overview of data flow frameworks and their charac
terizing properties is presented, to clarify property definitions and demonstra
their interrelation. Properties ensuring the existence of a solution are differenti
ed from those guaranteeing particular convergence behavior for specific solutio
procedures. Examples illustrate the orthogonality of these precision and conver
gence properties. In addition, several data flow problems are categorized w
respect to these properties.
Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
2. W h y do data flow analysis? . . . . . . . . . . . . . . . . . . . . . . . . . 123
3. D a t a flow frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
3.1. A n example: reaching definitions . . . . . . . . . . . . . . . . . . . . . 124
3.2. D a t a flow frameworks: extensions a nd refinements . . . . . . . . . . . . . . 126
3.2.1. Abstract interpretation and data flow analysis . . . . . . . . . . . . . 128
4. Solutions a n d a ppro ximat ions . . . . . . . . . . . . . . . . . . . . . . . . 129
4.1. The equation set and solution m e t h o d s . . . . . . . . . . . . . . . . . . . 129
4.2. Solutions .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
4.3. Safety, acceptability, and a p p r o x i m a t i n g lattices . . . . . . . . . . . . . . . 132
5. Solution procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
5.1. The flow graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
5.2. Cycles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
5.3. Iteration solution procedures . . . . . . . . . . . . . . . . . . . . . . . 134
5.4. Elimination solution procedures . . . . . . . . . . . . . . . . . . . . . . 135
5.5. Path algebra solution procedures . . . . . . . . . . . . . . . . . . . . . 136
5.6. Other approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.6.1. Other solution m e t h o d s . . . . . . . . . . . . . . . . . . . . . . . 137
5.6.2. D a t a flow problems on derived representations . . . . . . . . . . . . . 138
6. Properties of da ta flow frameworks . . . . . . . . . . . . . . . . . . . . . . 139
6.1. The semilattice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
6.2. The function space . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
6.3. Other framework properties . . . . . . . . . . . . . . . . . . . . . . . . 147
6.3.1. Intraprocedural and interprocedural problems . . . . . . . . . . . . . 147
6.4. F r a m e w o r k properties of k n o w n problems . . . . . . . . . . . . . . . . . 148