Flow grammars — a flow analysis methodology

  • James S. Uhl
  • R. Nigel Horspool
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 786)


Flow grammars provide a new mechanism for modeling control flow in flow analyzers and code optimizers. Existing methods for representing control flow are inadequate in terms of both their generality and their accuracy. Flow grammars overcome these deficiencies and are well-suited to the specification and solution of data flow analysis problems.


Control Flow Flow Analysis Execution Path Semantic Function Graph Grammar 
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.


  1. [1]
    Aho, A., R. Sethi and J. Ullman. Compilers, Principles, Techniques, and Tools, Addison-Wesley Publishing, 1986.Google Scholar
  2. [2]
    Babich, W. and M. Jazayeri. “The Method of Attributes for Data Flow Analysis Part I:Exhaustive Analysis,” Acta Informatica 10, 1978, pp. 245–264.CrossRefGoogle Scholar
  3. [3]
    Babich, W. and M. Jazayeri. “The Method of Attributes for Data Flow Analysis Part II: Demand Analysis,” Acta Informatica 10, 1978, pp. 265–272.CrossRefGoogle Scholar
  4. [4]
    Cooper, K., K. Kennedy and L. Torczon. “The Impact of Interprocedural Analysis and Optimization in the R n Programming Environment,” ACM TOPLAS 8, 4, October 1986, pp. 491–523.CrossRefGoogle Scholar
  5. [5]
    Cousot, P. and R. Cousot. “Abstract Interpretation: a Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints,” 4th POPL, January 1977, pp. 238–252.Google Scholar
  6. [6]
    Ginsburg, S. and G. F. Rose. “Operations which preserve definability in languages,” JA CM 10(2), April 1963, pp. 175–195.CrossRefGoogle Scholar
  7. [7]
    Hopcroft, J. E. and J. D. Ullman. Introduction to Automata Theory, Languages, and Computation, 1979, pp. 217–228.Google Scholar
  8. [8]
    Hecht, M. Flow Analysis of Computer Programs, Elsevier, 1977.Google Scholar
  9. [9]
    Jourdan, M. and D. Parigot. “Techniques for Improving Grammar Flow Analysis,” ESOP'90, LNCS 432, pp. 240–255.Google Scholar
  10. [10]
    Kam, J. and J. Ullman. “Monotone Data Flow Analysis Frameworks,” Acta Informatica 7,1977, pp. 305–317.CrossRefGoogle Scholar
  11. [11]
    Kennedy, K. and L. Zucconi. “Applications of a Graph Grammar for Program Control Flow Analysis,” 4th POPL, January 1977, pp. 72–85.Google Scholar
  12. [12]
    Kildall, G. “A Unified Approach to Global Program Optimization,” (1st) POPL, October 1973, pp. 194–206.Google Scholar
  13. [13]
    Knoop, J. and B. Steffen. “The Interprocedural Coincidence Theorem,” 4th Intl. Conf., CC'92, October 1992, pp. 125–140.Google Scholar
  14. [14]
    Marlowe, T. and B. Ryder. “Properties of Data Flow Frameworks,” Acta Informatica 28, 1990, pp. 121–163.CrossRefGoogle Scholar
  15. [15]
    Rosen, B. “High-Level Data Flow Analysis,” CACM 20, 10, October 1977, pp. 712–724.Google Scholar
  16. [16]
    Sethi, R. “Control Flow Aspects of Semantics-Directed Compiling,” ACM TOPLAS 5, 4, October 1983, pp. 554–595.CrossRefGoogle Scholar
  17. [17]
    Sharir, M. and A. Pnueli. “Two Approaches to Interprocedural Data Flow Analysis,” in Program Flow Analysis: Theory and Applications, Muchnick S. and Jones N. (eds.), 1981, pp. 189–233.Google Scholar
  18. [18]
    Shivers, O. “Control Flow Analysis in Scheme,” PLDI'88, June 1988, pp. 164–174.Google Scholar
  19. [19]
    Uhl, J. S. FACT: A Flow Analysis Compiler Tool. Ph.D. Dissertation, in preparation.Google Scholar
  20. [20]
    Wegman, M. and F. Zadeck. “Constant Propagation with Conditional Branches,” ACM TOPLAS 13, 2, April, 1991, pp. 181–210.CrossRefGoogle Scholar
  21. [21]
    Weihl, W. “Interprocedural Data Flow Analysis in the Presence of Pointer, Procedure Variables, and Label Variables,” 7th POPL, January 1980, pp. 83–94.Google Scholar
  22. [22]
    Yi, K. and Harrison, W. L. “Automatic generation and management of interprocedural program analyses,” 20th POPL, January 1993, pp. 246–259.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • James S. Uhl
    • 1
  • R. Nigel Horspool
    • 1
  1. 1.Department of Computer ScienceUniversity of VictoriaVictoriaCanada

Personalised recommendations