# Flow grammars — a flow analysis methodology

Conference paper

First Online:

## Abstract

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.

## Keywords

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.

Download
to read the full conference paper text

## References

- [1]Aho, A., R. Sethi and J. Ullman.
*Compilers, Principles, Techniques, and Tools*, Addison-Wesley Publishing, 1986.Google Scholar - [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]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]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]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]Ginsburg, S. and G. F. Rose. “Operations which preserve definability in languages,”
*JA CM*10(2), April 1963, pp. 175–195.CrossRefGoogle Scholar - [7]Hopcroft, J. E. and J. D. Ullman.
*Introduction to Automata Theory, Languages, and Computation*, 1979, pp. 217–228.Google Scholar - [8]Hecht, M.
*Flow Analysis of Computer Programs*, Elsevier, 1977.Google Scholar - [9]Jourdan, M. and D. Parigot. “Techniques for Improving Grammar Flow Analysis,”
*ESOP'90, LNCS 432*, pp. 240–255.Google Scholar - [10]Kam, J. and J. Ullman. “Monotone Data Flow Analysis Frameworks,”
*Acta Informatica*7,1977, pp. 305–317.CrossRefGoogle Scholar - [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]Kildall, G. “A Unified Approach to Global Program Optimization,”
*(1st) POPL*, October 1973, pp. 194–206.Google Scholar - [13]Knoop, J. and B. Steffen. “The Interprocedural Coincidence Theorem,”
*4th Intl. Conf., CC'92*, October 1992, pp. 125–140.Google Scholar - [14]Marlowe, T. and B. Ryder. “Properties of Data Flow Frameworks,”
*Acta Informatica*28, 1990, pp. 121–163.CrossRefGoogle Scholar - [15]Rosen, B. “High-Level Data Flow Analysis,”
*CACM*20, 10, October 1977, pp. 712–724.Google Scholar - [16]Sethi, R. “Control Flow Aspects of Semantics-Directed Compiling,”
*ACM TOPLAS*5, 4, October 1983, pp. 554–595.CrossRefGoogle Scholar - [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]Shivers, O. “Control Flow Analysis in Scheme,”
*PLDI'88*, June 1988, pp. 164–174.Google Scholar - [19]Uhl, J. S.
*FACT: A Flow Analysis Compiler Tool*. Ph.D. Dissertation, in preparation.Google Scholar - [20]Wegman, M. and F. Zadeck. “Constant Propagation with Conditional Branches,”
*ACM TOPLAS*13, 2, April, 1991, pp. 181–210.CrossRefGoogle Scholar - [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]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