Data flow analysis of applicative programs

  • Micha Sharir
Session 3: R. Sethi, Chairman
Part of the Lecture Notes in Computer Science book series (LNCS, volume 115)


A precise and efficient data-flow analysis algorithm, for analysis of programs involving procedures with call-by-value parameter passing, is presented and analyzed. It is adapted to handle analysis of applicative programs written in a subset of LISP, but is equally suited to analyze programs written in many other languages, such as ADA, APL and SETL.


Parse Tree Flow Graph Procedure Call Execution Path Call Graph 
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. [AU]
    A.V. Aho and J.D. Ullman, "Principles of Compiler Design", Addison-Wesley 1977.Google Scholar
  2. [AC]
    F.E. Allen and J. Cocke, "A Program Data-Flow Analysis Procedure", CACM 19 (1976), 137–147.Google Scholar
  3. [Ban]
    J.P. Banning, "An Efficient Way to Find the Side Effects of Procedure Calls and the Aliases of Variables", Proc. 6th POPL Conference (1979), 29–41.Google Scholar
  4. [Bar]
    J. Barth, "A Practical Interprocedural Data-Flow Analysis Algorithm", CACM 21 (1978), 724–736.Google Scholar
  5. [CC]
    P. Cousot and R. Cousot, "Systematic Design of Program Analysis Frameworks", Proc. 6th POPL Conference (1979), 269–282Google Scholar
  6. [GW]
    S.L. Graham and M. Wegman, "A Fast and Usually Linear Algorithm for Global Flow Analysis", JACM (1976), 172–202.Google Scholar
  7. [He]
    M.S. Hecht, "Flow Analysis of Computer Programs", Elsevier North-Holland 1977.Google Scholar
  8. [Jo]
    N.D. Jones, "Flow Analysis of Lambda Expressions", This proceedingsGoogle Scholar
  9. [KU]
    J.B. Kam and J.D. Ullman, "Monotone Data Flow Analysis Frameworks", Acta Informatica 7(1977), 309–317.Google Scholar
  10. [Ki]
    G.A. Kildall, "A Unified Approach to Global Program Optimization", Proc. 1st POPL Conference (1973), 194–206.Google Scholar
  11. [My]
    E.W. Myers, "A Precise Interprocedural Data Flow Algorithm", Proc. 8th POPL Conference (1981), 219–230.Google Scholar
  12. [Pe]
    A. Pettorossi, "An Algorithm for Reducing Memory Requirements in Recursive Programs Using Annotations", Proc. International Workshop on Program Construction, Bonas, France (1980).Google Scholar
  13. [Ro]
    [Ro1] B.K. Rosen, "Data-Flow Analysis for Procedural Languages", JACM 26 (1979) 322–344.Google Scholar
  14. [Ro]
    [Ro2] B.K. Rosen, "Monoids for Rapid Data-Flow Analysis", SIAM J. Computing 9(1980), 159–196.Google Scholar
  15. [Ro]
    [Ro3] B.K. Rosen, "High-Level Data Flow Analysis", CACM 20(1977), 712–724.Google Scholar
  16. [SS]
    J.T. Schwartz and M. Sharir, "Design for Optimizations of the Bitvectoring Class", Courant Comp. Sci. Rept. #17, New York University 1979.Google Scholar
  17. [SP]
    M. Sharir and A. Pnueli, "Two Approaches to Interprocedural Data-Flow Analysis", to appear in "Program Flow Analysis", (S.S. Muchnick, N.D. Jones Eds.) Prentice-Hall, 1981.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1981

Authors and Affiliations

  • Micha Sharir
    • 1
  1. 1.Department of Mathematical SciencesTel Aviv UniversityTel AvivIsrael

Personalised recommendations