Summary
A new technique for global data flow analysis, called the method of attributes, is introduced. The technique is iterative and operates on a parse tree representation of the program. Application to dead variable and available expression analysis is shown.
Similar content being viewed by others
References
Allen, F.: Control flow analysis. SIGPLAN Notices 5, 1–19 (1970)
Allen, F.: Interprocedural data flow analysis. Proc. IFIP Congress 1974, Stockholm, pp. 398–402, Amsterdam: North-Holland 1974
Babich, W.A.: High level data flow analysis using a parse tree representation of the program. Ph.D. dissertation, Department of Computer Science, University of North Carolina, Chapel Hill, N.C., TR-77-006, 1977
Conway, R.: PL/CS — A highly-disciplined subset of PL/C. SIGPLAN Notices 11, 21–24 (1976)
Crawford, J.: Module specifications for a global optimizer. Masters thesis, Department of Computer Science, University of North Carolina, Chapel Hill, N.C., TR-77-008, 1977
Hecht, M.S., Schaffer, J.B.: A modest quad improver. Department of Computer Science, University of Maryland, 1977
Jazayeri, M.: Course notes for COMP 290. University of North Carolina, Spring 1976
Jazayeri, M., Ogden, W., Rounds, W.: The intrinsically exponential complexity of the circularity problem for attribute grammars. Comm. ACM 18, 697–706 (1975)
Knuth, D.: Semantics of context-free languages. Math. Systems Theory 2, 127–145 (1968); correction in: 5, 95–96 (1971)
Lomet, D.: Data flow analysis in the presence of procedure calls. IBM Research Report RC 5728, Yorktown Heights, November 1975
Loveman, D.B.: Program improvement by source-to-source transformations. J. Assoc. Comput. Mach. 24, 121–145 (1977)
Osterweil, L., Fosdick, L.: DAVE — A validation, error detection, and documentation system for Fortran programs. Department of Computer Science, University of Colorado, TR CU-CS-071-75, Boulder, June 1975
Rosen, B.K.: Data flow analysis for procedural languages. IBM Research Report RC 5948, Yorktown Heights, April 15, 1976
Rosen, B.K.:High-level data flow analysis. Comm. ACM 20, 712–724 (1977)
Schaefer, M.: A mathematical theory of global program optimization. Englewood-Cliffs: Prentice-Hall 1973
Spillman, T.: Exposing side effects in a PL/I optimizing compiler. Proc. IFIP Congress 1971, pp. 376–381. Amsterdam: North-Holland 1971
Tapscott, R.: ADS: the source listing annotator. IBM Research Report RC 5065, Yorktown Heights, October 2, 1974
Wulf, W., et al.: The design of an optimizing compiler. New York: American Elsevier 1975
Wulf, W., Russel, D., Habermann, A.: BLISS: a language for systems programming. Comm. ACM 1, 780–790 (1971)
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Babich, W.A., Jazayeri, M. The method of attributes for data flow analysis. Acta Informatica 10, 245–264 (1978). https://doi.org/10.1007/BF00264319
Issue Date:
DOI: https://doi.org/10.1007/BF00264319