Abstract
We present an interprocedural generalization of the well-known (intraprocedural) Coincidence Theorem of Kam and Ullman, which provides a sufficient condition for the equivalence of the meet over all paths (MOP) solution and the maximal fixed point (MFP) solution to a data flow analysis problem. This generalization covers arbitrary imperative programs with recursive procedures, global and local variables, and formal value parameters. In the absence of procedures, it reduces to the classical intraprocedural version. In particular, our stack-based approach generalizes the coincidence theorems of Barth and Sharir/Pnueli for the same setup, which do not properly deal with local variables of recursive procedures.
Part of the work was done, while the author was supported by the Deutsche Forschungsgemeinschaft grant La 426/9-2
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Allen, F. E. Control flow analysis. SIGPLAN Not. 5, 7 (1970), 1–19.
Barth, G. Interprozedurale Datenflußsysteme. Habilitationsschrift, University of Kaiserslautern, Germany, 1981.
Barth, G. Interprocedural data flow systems. In Proceedings 6 th GI-Conference, Dortmund, Germany, Springer-Verlag, LNCS 145 (1983), 49–59.
Bourdoncle, F. Interprocedural abstract interpretation of block structured languages with nested procedures, aliasing and recursivity. In Proceedings 2 nd PLILP, Linköping, Sweden, Springer-Verlag, LNCS 456 (1990), 307–323.
Cousot, P., and Cousot, R. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proceedings 4 th POPL, Los Angeles, California, 1977, 238–252.
Cousot, P., and Cousot, R. Static determination of dynamic properties of recursive procedures. In: Neuhold, E. (Ed.). Proceedings of the 2 nd IFIP TC-2 Working Conference on Formal Description of Programming Concepts, St. Andrews, N. B., Canada, 1977, 237–277.
Callahan, D., Cooper, K. D., Kennedy, K. W., and Torczon, L. M. Interprocedural constant propagation. In Proceedings SIGPLAN'86 Symp. on Compiler Construction, SIGPLAN Not. 21, 7 (1986), 152–161.
Hecht, M. S. Flow analysis of computer programs. Elsevier, North-Holland, 1977.
Jones, N. D., and Muchnick, S. S. A flexible approach to interprocedural data flow analysis and programs with recursive data structures. In Proceedings 9 th POPL, Albuquerque, New Mexico, 1982, 66–74.
Kildall, G. A. A unified approach to global program optimization. In Proceedings 1 st POPL, Boston, Massachusetts, 1973, 194–206.
Knoop, J., and Steffen, B. The interprocedural coincidence theorem. Aachener Informatik-Berichte Nr. 91-27, Rheinisch-Westfälische Technische Hochschule Aachen, Aachen, Germany, 1991.
Knoop, J., and Steffen, B. Optimal interprocedural partial redundancy elimination. In Addenda to Proceedings 4 th CC, Paderborn, Germany, October 5–7, 1992. Technical Report, Department of Computer Science, University of Paderborn, Germany, 1992.
Knoop, J., and Steffen, B. Efficient and optimal bit-vector data flow analyses: A uniform interprocedural framework. To appear.
Kam, J. B., and Ullman, J. D. Monotone data flow analysis frameworks. Acta Informatica 7, (1977), 309–317.
Langmaack, H. On procedures as open subroutines. Part I. Acta Informatica 2, (1973), 311–333.
Morel, E. Data flow analysis and global optimization. In: Lorho, B. (Ed.). Methods and tools for compiler construction. Cambridge University Press, 1984, 289–315.
Myers, E. W. A precise inter-procedural data flow algorithm. In Proceedings 8 th POPL, Williamsburg, Virginia, 1981, 219–230.
Muchnick, S. S., and Jones, N. D. (Eds.). Program flow analysis: Theory and applications. Prentice Hall, Englewood Cliffs, New Jersey, 1981.
Morel, E., and Renvoise, C. Interprocedural elimination of partial redundancies. In [MJ], 1981, 160–188.
Rosen, B. K. Data flow analysis for procedural languages. Journal of the ACM 26, 2 (1979), 322–344.
Steffen, B., and Knoop, J. Finite constants: Characterizations of a new decidable set of constants. In Proceedings 14 th MFCS, Porabka-Kozubnik, Poland, Springer-Verlag, LNCS 379 (1989), 481–491. An extended version appeared in: Theoretical Computer Science 80, 2 (1991), 303–318.
Steffen, B., and Knoop, J. Finite interprocedural constants. To appear.
Sharir, M., and Pnueli, A. Two approaches to interprocedural data flow analysis. In [MJ], 1981, 189–233.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Knoop, J., Steffen, B. (1992). The interprocedural coincidence theorem. In: Kastens, U., Pfahler, P. (eds) Compiler Construction. CC 1992. Lecture Notes in Computer Science, vol 641. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55984-1_13
Download citation
DOI: https://doi.org/10.1007/3-540-55984-1_13
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55984-9
Online ISBN: 978-3-540-47335-0
eBook Packages: Springer Book Archive