ACM Home Page
Please provide us with feedback. Feedback
Efficient call graph analysis
Full text PdfPdf (1.05 MB)
Source ACM Letters on Programming Languages and Systems (LOPLAS) archive
Volume 1 ,  Issue 3  (September 1992) table of contents
Pages: 227 - 242  
Year of Publication: 1992
ISSN:1057-4514
Authors
Mary W. Hall  Stanford Univ., Stanford, CA
Ken Kennedy  Rice Univ., Houston, TX
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 70,   Citation Count: 21
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/151640.151643
What is a DOI?

ABSTRACT

We present an efficient algorithm for computing the procedure call graph, the program representation underlying most interprocedural optimization techniques. The algorithm computes the possible bindings of procedure variables in languages where such variables only receive their values through parameter passing, such as Fortran. We extend the algorithm to accommodate a limited form of assignments to procedure variables. The resulting algorithm can also be used in analysis of functional programs that have been converted to Continuation-Passing-Style. We discuss the algorithm in relationship to other call graph analysis approaches. Many less efficient techniques produce essentially the same call graph. A few algorithms are more precise, but they may be prohibitively expensive depending on language features.


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
BURKE, M. An interval-based approach to exhaustive and incremental interprocedural analysis. Res. Rep. RC 12702, IBM, Yorktown Heights, N.Y., 1987.
 
2
 
3
CALLAHAN, C. D., COOPER, K. D., HOOD, R. T., KENNEDY, K., AND TORCZON, L. ParaScope: A parallel programming environment. Int. J. Supercomput. Appl. 2, 4 (1988), 84-89.
4
5
6
 
7
EIGENMANN, R., AND PLUME, W. An effectiveness study of parallelizing compiler techniques. In Proceedings of the 1991 International Conference on Parallel Processing (Boca Raton, Fla., Aug. 1991). CRC Press, II-17-II-24.
8
 
9
 
10
11
 
12
13
14
15
16
 
17
RYDER, B. Constructing the call graph of a program. IEEE Trans. Softw. Eng. SE-5, 3 (1979), 216-225.
18
 
19
20
 
21
SPmLM~, T.C. Exposing side-effects in a PL/I optimizing compiler. In Proceedings of the IFIP Congress 1971. North Holland, Amsterdam, 376-381.
22
23
24

CITED BY  21


REVIEW

"Kathleen H. V. Booth : Reviewer"

According to the authors, “most compilers optimize procedures as separate units” and do not take into account the possibility of global optimization. The paper considers this question and examines previous attempts to p  more...

Collaborative Colleagues:
Mary W. Hall: colleagues
Ken Kennedy: colleagues