ACM Home Page
Please provide us with feedback. Feedback
Elimination algorithms for data flow analysis
Full text PdfPdf (3.34 MB)
Source ACM Computing Surveys (CSUR) archive
Volume 18 ,  Issue 3  (September 1986) table of contents
Pages: 277 - 316  
Year of Publication: 1986
ISSN:0360-0300
Authors
Barbara G. Ryder  Rutgers Univ., New Brunswick, NJ
Marvin C. Paull  Rutgers Univ., New Burnswick, NJ
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 12,   Downloads (12 Months): 100,   Citation Count: 36
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/27632.27649
What is a DOI?

ABSTRACT

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
ALLEN, F. E. 1971. A basis for program optimization. In Proceedings of the 1971 IFIP Congress. IEEE, North Holland Publ., Amsterdam, pp. 385-390.
 
3
ALLEN, F. E. 1974. Interprocedural data flow analysis. In Proceedings of 1974 IFIP Congress. IEEE, North Holland Publ., Amsterdam, pp. 398-402.
4
 
5
BACKUS, J. W., BEEMER, R. J., BEST, S., GOLDBERG, R., HAIBT, L. M., HERRICK, H. L., NELSON, R. A., SAYRE, D., SHERIDAN, P. B., STERN, H., ZILLER, I., HUGHES, R. A., AND Nu~r, R. 1957. The FORTRAN automatic coding systern. In Proceedings of the Western Joint Computer Conference (Los Angeles, Calif.), pp. 188-198. Also in Programming Systems and Languages, S. Rosen, Ed. McGraw-Hill, New York, 1967, pp. 29-47.
6
7
 
8
BURKE, M. 1984. An interval analysis approach toward interprocedural data flow analysis. Computer Science Tech. Rep. RC 10640, IBM Thomas J. Watson Research Center, Yorktown Heights, New York, July.
9
10
 
11
FARROW, R., KENNEDY, K., AND ZUCCONI, L. 1975. Graph grammars and global program data flow analysis. In Proceedings of the 17th Annual IEEE Symposium on the Foundations of Computer Science (Nov.). IEEE, New York, pp. 42-56.
 
12
FONG, A. C., AND ULLMAN, J. D. 1977. Finding the depth of a flow graph. Comput. Syst. Sci. 15, 300- 309.
13
 
14
 
15
HECHT, M. S., AND ULLMAN, J. D. 1977. A simple algorithm for global data flow analysis problems. SIAM J. Comput. 4, 4 (Dec.), 519-532.
 
16
HOPCROrT, J. E., AND ULLMAN, J. D. 1972. An n log n algorithm for reduction of flow graphs. In Proceedings of the 6th Annual Princeton Conference on Information Sciences and Systems (Princeton, N.J., Mar.), M. E. Van Valkenberg and M. Edelberg, Eds. Dept of Electrical Engineering, Princeton Univ., Princeton, N.J., pp. 119-122.
 
17
ISAACSON, E., AND KELLER, H. B. 1966. Analysis of Numerical Methods. Wiley, New York.
 
18
KENNEDY, K. 1971. A global flow analysis algorithm. Int. J. Comput. Math. Sect. A 3, (Dec.), 5-15.
 
19
KENNEDY, K. 1979. A survey of data flow analysis techniques. In Program Flow Analysis: Theory and Applications, S. Muchnick and N. jones Eds., Prentice-Hall, Englewood Cliffs, N.J., pp. 5-54.
20
21
 
22
 
23
KNUTH, D. E. 1971. An empirical study of FOR- TRAN programs. So{tw. Pract. Exper. i, 105-133.
 
24
PAULL, M. C. 1987. Introduction to Algorithm Design Principles. Wiley-Interscience, New York, in press.
 
25
 
26
ROBINSON, S. K., AND TORSUN, I. S. 1976. An empirical analysis of FORTRAN programs. Comput. J. 19, 1, 56-62.
 
27
RYDER, B. G. 1974. The PFORT verifier. Softw. Pract. Exper. 4, 359-377.
 
28
RYDER, B. G. 1979. Constructing the call graph of a program. IEEE Trans. So{tw. Eng. SE-5, 3 (May), 216-225.
29
 
30
 
31
RYDER, B. G. 1985. Incremental algorithms for software systems. Tech. Rep. DCS-TR-158, Dept. of Computer Science, Rutgers Univ., New Brunswick, N.J., July.
32
 
33
RYDER, B. G., AND PAULL, M. C. 1983. Incremental data flow analysis algorithms. Tech. Rep. DCS- TR-131, Dept. of Computer Science, Rutgers Univ., New Brunswick, N.J. Being reviewed for publication.
 
34
SCHWARTZ, J. T., AND SHARIR, M. 1978. Tarjan's fast interval finding algorithm. SETL Newsletter No. 204, Mar. 3, 1978, Courant Institute of Mathematical Sciences, New York Univ., New York.
 
35
SCHWARTZ, J. T., AND SHARIR, M. 1979. A design for optimizations of the bitvectoring class. Tech. Rep. 17, Dept. of Computer Science, Courant Institute of Mathematical Sciences, New York Univ., New York, Sept.
 
36
SHARIR, M. 1977. On interprocedural flow analysis. SETL Newsletters No. 187, Apr. 1977, No. 187a, May 1977, Courant institute of Mathematical Sciences, New York Univ., New York.
 
37
TARJAN, R. E. 1972. Depth-first search and linear graph algorithms. SIAM J. Comput. 1, 2, 146- 159.
 
38
TARJAN, R. E. 1974. Testing flow graph reducibility. J. Comput. Syst. Sci. 9, 355-365.
39
40
41
 
42
ULLMAN, J. D. 1973. Fast algorithms for the elimination of common subexpressions. Acta Inform. 2, 3, 191-213.
 
43
44

CITED BY  36


REVIEW

"Reinhard Wilhelm : Reviewer"

Data flow information is an essential prerequisite for code improving transformations in “optimizing” compilers. It can be collected using algorithms from two different classes, the so-called iterative algorithms that compute fixed p  more...

Collaborative Colleagues:
Barbara G. Ryder: colleagues
Marvin C. Paull: colleagues