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