ACM Home Page
Please provide us with feedback. Feedback
An interval-based approach to exhaustive and incremental interprocedural data-flow analysis
Full text PdfPdf (4.43 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 12 ,  Issue 3  (July 1990) table of contents
Pages: 341 - 395  
Year of Publication: 1990
ISSN:0164-0925
Author
Michael Burke  IBM T. J. Watson Research Center, Yorktown Heights, NY
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 13,   Downloads (12 Months): 77,   Citation Count: 44
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/78969.78963
What is a DOI?

ABSTRACT

We reformulate interval analysis so that it can he applied to any monotone data-flow problem, including the nonfast problems of flow-insensitive interprocedural analysis. We then develop an incremental interval analysis technique that can be applied to the same class of problems. When applied to flow-insensitive interprocedural data-flow problems, the resulting algorithms are simple, practical, and efficient. With a single update, the incremental algorithm can accommodate any sequence of program changes that does not alter the structure of the program call graph. It can also accommodate a large class of structural changes. For alias analysis, we develop an incremental algorithm that obtains the exact solution as computed by an exhaustive algorithm. Finally, we develop a transitive closure algorithm that is particularly well suited to the very sparse matrices associated with the problems we address.


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. Interprocedural data flow analysis. In Proceedings of the IFIP Congress 74 (Stockholm, Aug. 5-10, 1974). North-Holland, Amsterdam, 1974, pp. 398-402.
3
 
4
ALLEN, F. E., CARTER, J. L., FABR1, J., FERRANTE, J., HARRISON, W. H., LOEWNER, P. G., AND TREVILLYAN, L.H. The experimental compiling system. IBM J. Res. Dev. 24, 6 (Nov. 1980), 695-715.
 
5
6
 
7
BANERJEE, U. Data dependence in ordinary programs. M.S. thesis, Computer Science Dept., Univ. of Illinois at Urbana-Champaign, Urbana, 1976.
 
8
9
10
11
 
12
BECKMAN-DAVIES, C.S. Improving parallelism in LINPACK. M.S. thesis, Computer Science Dept., Univ. of Illinois at Urbana-Champaign, Urbana, May 1983.
 
13
BURKE, M. An interval analysis approach toward interprocedural data-flow. IBM Res. Rep. RC10640, IBM Corp., Armonk, N.Y., July 1984.
 
14
BURKE, M. An interval-based approach to exhaustive and incremental interprocedural dataflow analysis. IBM Res. Rep. RC12702, IBM Corp., Armonk, N.Y., Aug. 1987.
15
 
16
 
17
BURKE, M., COOPER, K. D., KENNEDY, K., AND TORCZON, L. Interprocedural optimization: Eliminating unnecessary recompilation. IBM Res. Rep., IBM, Armonk, N.Y., July 1990.
18
 
19
 
20
21
22
 
23
COOPER, K. D., AND KENNEDY, K. Complexity of interprocedural side-effect analysis. Tech. Rep. 87-61, Dept. of Computer Science, Rice Univ., Houston, Tex., 1987.
24
25
26
 
27
CYTRON, a. Doacross: Beyond veetorization for multiprocessors. In Proceedings of the 1986 International Conference on Parallel Processing (St. Charles, Ill., Aug. 1986). Dept. of Electrical Engineering, Pennsylvania State Univ., University Park, 1986, pp. 836-844.
 
28
EVE, J., AND KURKI-SUONIO, R. On computing the transitive closure of a relation. Acta Inf. 8 (1977), 303-314.
29
 
30
31
 
32
 
33
HECHT, M. S., AND ULLMAN, J.D. Flow graph reducibility. SIAM J. Comput. 1, 2 (June 1972), 188-202.
34
 
35
HECHT, M. S., AND ULLMAN, J.D. A simple algorithm for global data-flow analysis problems. SIAMJ. Comput. 4, 4 (Dec. 1975), 519-532.
 
36
HUSON, C.A. An in-line subroutine expander for parafrase. M.S. thesis, Computer Science Dept., Univ. of Illinois at Urbana-Champaign, Urbana, 1982.
37
 
38
KAM, J. B., AND ULLMAN, J.D. Monotone data-flow analysis frameworks. Acta Inf 7 (1977), 305-317.
 
39
KENNEDY, K. A global flow analysis algorithm. Int. J. Comput. Math. 3 (Dec. 1971), 5-15.
 
40
KENNEDY, K. A comparison of two algorithms for global data flow analysis. SIAM J. Comput. 5, I (Mar. 1976), 158-180.
41
42
 
43
44
 
45
PADUA, D., KUCK, D., AND LAWRIE, D. High-speed multiprocessors and compilation techniques. IEEE Trans. Comput. C-29, 9 (Sept. 1980), 763-776.
 
46
47
48
 
49
ROSEN, B. K. Monoids for rapid data-flow analysis. SlAM J. Comput. 9, i (Feb. 1980), 159-196.
50
 
51
ROSEN, B.K. A lubricant for data flow analysis. SIAM J. Comput. 11, 3 (Aug. 1982), 493-511.
52
 
53
54
55
56
 
57
 
58
SCHWARTZ, J. T., AND SHARIR, M. A design for optimizations of the bitvectoring class. Courant Computer Science Rep. 17, New York Univ., New York, Sept. 1979.
 
59
TARJAN, R.Depth-first search and linear graph algorithms. SIAM J. Comput. 1, 2 (Sept. 1972), 146-160.
 
60
TARJAN, g. Testing flow graph reducibility. J. Comput. Syst. Sci. 9, 3 (Dec. 1974), 355-365.
61
62
 
63
ULLMAN, J.D. Fast algorithms for the elimination of common subexpressions. Acta Inf. 2, 3 (1973), 191-213.
64
 
65
WEGBREIT, B. Property extraction in well-founded property sets. IEEE Trans. Softw. Eng. 1, 3 (Sept. 1975), 270-285.
 
66
67

CITED BY  44


REVIEW

"Martin Joseph Jourdan : Reviewer"

In this respectable research paper the author presents an original method to solve the archetypal interprocedural dataflow problem of computing the MOD and REF sets for each procedure in a complete program. His method is based on the decomposi  more...