Elimination algorithms for data flow analysis

A unified model of a family of data flow algorithms, called elimination methods, is presented. The algorithms, which gather information about the definition and use of data in a program or a set of programs, are characterized by the manner in which they solve the systems of equations that describe data flow problems of interest. The unified model provides implementation-independent descriptions of the algorithms to facilitate comparisons among them and illustrate the sources of improvement in worst case complexity bounds. This tutorial provides a study in algorithm design, as well as a new view of these algorithms and their interrelationships.

[1]  H. Keller,et al.  Analysis of Numerical Methods , 1969 .

[2]  Barbara G. Ryder,et al.  Incremental data-flow analysis algorithms , 1988, TOPL.

[3]  Jeffrey D. Ullman,et al.  A Simple Algorithm for Global Data Flow Analysis Problems , 1975, SIAM J. Comput..

[4]  E. Reingold,et al.  Combinatorial Algorithms: Theory and Practice , 1977 .

[5]  Gary A. Kildall,et al.  A unified approach to global program optimization , 1973, POPL.

[6]  Barbara G. Ryder,et al.  An incremental algorithm for software analysis , 1987, SDE 2.

[7]  Eero Saarinen IBM Thomas J. Watson Research Center , 1961 .

[8]  M. Wegman General and efficient methods for global code improvement , 1981 .

[9]  Ken Kennedy,et al.  Graph grammars and global program data flow analysis , 1976, 17th Annual Symposium on Foundations of Computer Science (sfcs 1976).

[10]  Robert E. Tarjan,et al.  Fast Algorithms for Solving Path Problems , 1981, JACM.

[11]  J. Cocke Global common subexpression elimination , 1970, Symposium on Compiler Optimization.

[12]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[13]  John Cocke Global common subexpression elimination , 1970 .

[14]  Frances E. Allen,et al.  Interprocedural Data Flow Analysis , 1974, IFIP Congress.

[15]  F. Kenneth Zadeck,et al.  Incremental data flow analysis in a structured program editor , 1984, SIGPLAN '84.

[16]  Ken Kennedy,et al.  Efficient computation of flow insensitive interprocedural summary information , 1984, SIGPLAN '84.

[17]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[18]  共立出版株式会社 コンピュータ・サイエンス : ACM computing surveys , 1978 .

[19]  Robert E. Tarjan Testing flow graph reducibility , 1973, STOC '73.

[20]  John Cocke,et al.  A program data flow analysis procedure , 1976, CACM.

[21]  Barbara G. Ryder Incremental Algorithms for Software Systems , 1985 .

[22]  Barbara G. Ryder Incremental data flow analysis , 1983, POPL '83.

[23]  Jeffrey M. Barth A practical interprocedural data flow analysis algorithm , 1978, CACM.

[24]  Frances E. Allen,et al.  A Basis for Program Optimization , 1971, IFIP Congress.

[25]  Robert E. Tarjan,et al.  Applications of Path Compression on Balanced Trees , 1979, JACM.

[26]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[27]  I. S. Torsun,et al.  An Empirical Analysis of FORTRAN Programs , 1976, Comput. J..

[28]  July , 1890, The Hospital.

[29]  John Banning,et al.  : An Efficient , 2022 .

[30]  Barbara Gershon Ryder Incremental data flow analysis based on a unified model of elimination algorithms , 1982 .

[31]  Barbara G. Ryder,et al.  The pfort verifier , 1974, Softw. Pract. Exp..

[32]  Jeffrey D. Ullman,et al.  Finding the depth of a flow graph , 1976, STOC '76.

[33]  Ken Kennedy,et al.  Applications of a graph grammar for program control flow analysis , 1977, POPL.

[34]  J. W. Backus,et al.  The FORTRAN automatic coding system , 1899, IRE-AIEE-ACM '57 (Western).

[35]  Donald E. Knuth,et al.  The art of computer programming: V.1.: Fundamental algorithms , 1997 .

[36]  Donald E. Knuth,et al.  An empirical study of FORTRAN programs , 1971, Softw. Pract. Exp..

[37]  Robert E. Tarjan,et al.  A Unified Approach to Path Problems , 1981, JACM.

[38]  Ken Kennedy,et al.  A global flow analysis algorithm , 1972 .

[39]  Matthew S. Hecht,et al.  Flow Analysis of Computer Programs , 1977 .

[40]  Mark N. Wegman,et al.  A Fast and Usually Linear Algorithm for Global Flow Analysis , 1976, J. ACM.

[41]  Barbara G. Ryder,et al.  Constructing the Call Graph of a Program , 1979, IEEE Transactions on Software Engineering.