Acta Informatica

, Volume 7, Issue 3, pp 305–317 | Cite as

Monotone data flow analysis frameworks

  • John B. Kam
  • Jeffrey D. Ullman


We consider a generalization of Kildall's lattice theoretic approach to data flow analysis, which we call monotone data flow analysis frameworks. Many flow analysis problems which appear in practice meet the monotonicity condition but not Kildall's condition called distributivity. We show that the maximal fixed point solution exists for every instance of every monotone framework, and that it can be obtained by Kildall's algorithm. However, whenever the framework is monotone but not distributive, there are instances in which the desired solution—the “meet over all paths solution” — differs from the maximal fixed point. Finally, we show the nonexistence of an algorithm to compute the meet over all paths solution for monotone frameworks.


Information System Operating System Data Structure Communication Network Information Theory 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aho, A. V., Ullman, J. D.: The theory of parsing, translation, and compiling; Vol II—Compiling. Englewood Cliffs (N. J.): Prentice-Hall 1973Google Scholar
  2. 2.
    Cocke, J.: Global common subexpression elimination. SIGPLAN Notices 5, 20–24 (1970)Google Scholar
  3. 3.
    Cocke, J., Schwartz, J. T.: Programming languages and their compilers. Courant Institute, New York University, New York (1970)Google Scholar
  4. 4.
    Fong, A. C., Kam, J. B., Ullman, J. D.: Applications of lattice algebra to loop optimization. Proc. 2nd ACM Conference on Principles of Programming Languages, Palo Alto (Cal.), January 1975, pp. 1–9Google Scholar
  5. 5.
    Graham, S. L., Wegman, M.: A fast and usually linear algorithm for global flow analysis. J. ACM 23, 172–202 (1976)Google Scholar
  6. 6.
    Hecht, M. S., Ullman, J. D.: A simple algorithm for global flow analysis problems. SIAM J. Computing 4, 519–532 (1975)Google Scholar
  7. 7.
    Hopcroft, J. E., Ullman, J. D.: Formal languages and their relation to automata. Reading (Mass.): Addison-Wesley 1969Google Scholar
  8. 8.
    Kennedy, K.: A global flow analysis algorithm. International J. Computer Math. 3, 5–15 (1971)Google Scholar
  9. 9.
    Kildall, G. A.: Global expression optimization during compilation. Proc. ACM Conference on Principles of Programming Languages, Boston (Mass.), October 1973, pp. 194–206Google Scholar
  10. 10.
    Kam, J. B., Ullman, J. D.: Global data flow analysis and iterative algorithms. J. ACM 23, 158–171 (1976)Google Scholar
  11. 11.
    Schwartz, J. T.: Copy optimization in SETL. Department of Computer Science, Courant Institute, New York University, New York, SETL Newsletters 130, 131, 1974Google Scholar
  12. 12.
    Schaefer, M.: A mathematical theory of global program optimization. Englewood Cliffs (N.J.): Prentice-Hall 1973Google Scholar
  13. 13.
    Tennenbaum, T.: Type determination for very high level languages. Department of computer Science, Courant Institute, New York University, New York, TSO-3, 1974Google Scholar
  14. 14.
    Ullman, J. D.: Fast algorithms for the elimination of common subexpressions. Acta Informatica 2, 191–213 (1973)Google Scholar
  15. 15.
    Ullman, J. D.: Data Flow Analysis. Proc. 2nd USA-Japan Computer Conference. Montvale (N.J.): AFIPS Press 1975Google Scholar
  16. 16.
    Vyssotsky, V. A.: Private Communication to M. S. Hecht, June 1973Google Scholar
  17. 17.
    Wegbreit, B.: Property extraction in well-founded property sets. IEEE Trans. on Software Engineering SE-1, 270–285 (1975)Google Scholar

Copyright information

© Springer-Verlag 1977

Authors and Affiliations

  • John B. Kam
    • 1
  • Jeffrey D. Ullman
    • 1
  1. 1.Dept. of Electrical Engineering and Computer SciencePrinceton UniversityPrincetonUSA

Personalised recommendations