ACM Home Page
Please provide us with feedback. Feedback
Interprocedural data flow analysis in the presence of pointers, procedure variables, and label variables
Full text PdfPdf (1.27 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Las Vegas, Nevada
Pages: 83 - 94  
Year of Publication: 1980
ISBN:0-89791-011-7
Author
William E. Weihl  IBM Thomas J. Watson Research Center, Yorktown Heights, New York
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 48,   Citation Count: 44
Additional Information:

abstract   references   cited by   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/567446.567455
What is a DOI?

ABSTRACT

Interprocedural data flow analysis is complicated by the use of procedure and label variables in programs and by the presence of aliasing among variables. In this paper we present an algorithm for computing possible values for procedure and label variables, thus providing a call graph and a control flow graph. The algorithm also computes the possible aliasing relationships in the program being analyzed.We assume that control flow information is not available to the algorithm; hence, this type of analysis may be termed "flow-free analysis." Given this assumption, we demonstrate the correctness of the algorithm, in the sense that the information it produces is conservative, and show that it is as precise as possible in certain cases. We also show that the problem of determining possible values for procedure variables is P-space hard. This fact indicates that any algorithm which is precise in all cases must also run very slowly for some programs.


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
 
3
Allen, F. E. Interprocedural Data Flow Analysis. Proceedings IFIP Congress 74, North Holland Publishing Company, Amsterdam, 398-402.
4
 
5
Allen, F. E., et. al. The Experimental Compiling Systems Project. IBM Research Report RC6718, T.J. Watson Research Center, Yorktown Heights, N.Y. September 1977.
 
6
 
7
Barth, J. Interprocedural Data Flow Analysis Based on Transitive Closure. Univ. of California at Berkeley, Computer Science Dept., Tech. Rep. UCB-CS-76-44, September 1976.
 
8
Carter, J. L. Private Communication.
9
10
 
11
Ryder, B. G. Constructing the Call Graph of a Program. IEEE Transactions on Software Engineering SE-5, 3 (May 1979), 216-226.
 
12
Spillman, T. C. Exposing Side-Effects in a PL/I Optimizing Compiler. Proceedings IFIP Conference 1971, North Holland Publishing Company, Amsterdam, 376-381.
13
 
14
Wegman, M. N., and Carter, J. L. New Classes and Applications of Hash Functions. Proceedings 20th Annual Symposium on Foundations of Computer Science (October 1979), 175-182.
 
15
Weihl, W. E. Interprocedural Data Flow Analysis in the Presence of Pointers, Procedure Variables, and Label Variables. S.M. Thesis, Massachusetts Institute of Technology (to be published).
 
16

CITED BY  44