ACM Home Page
Please provide us with feedback. Feedback
A precise inter-procedural data flow algorithm
Full text PdfPdf (678 KB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Williamsburg, Virginia
Pages: 219 - 230  
Year of Publication: 1981
ISBN:0-89791-029-X
Author
Eugene M. Myers  University of Colorado at Boulder, Boulder, Colorado
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): 8,   Downloads (12 Months): 60,   Citation Count: 86
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/567532.567556
What is a DOI?

ABSTRACT

Data flow analysis is well understood at the intra-procedural level and efficient algorithms are available. When inter-procedural mechanisms such as recursion, procedure nesting, and pass-by-reference aliasing are introduced, the data flow problems become much more difficult. The avail, live, and must-summary data flow problems are shown to be NP-complete in the presence of aliasing. However, an algorithm is presented with O(SET*EDGE) time performance where EDGE is the size of the program's flow graph and SET is a possible exponential number which reflects the number of aliasing patterns of the program. It is argued that in practice SET is small and on the order of the number of variables of the program.


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
{A} Allen,F. E. "Interprocedural Data Flow Analysis." Information Processing 74, North-Holland Pub. Co., Amsterdam (1974), 398-402.
2
3
4
5
6
7
 
8
9
 
10
 
11
{Karp} Karp, R. M. "A Note on the Application of Graph Theory to Digital Computer Programming." Information and Control, 3(1960), 179-190.
12
 
13
{M} Myers, E. W. "A Precise and Efficient Algorithm for Determining Existential Summary Data Flow Information." Tech. Rep. CU-CS-175-80, Univ. of Colorado, Boulder, Colo., March 1980.
 
14
{R1} Rosen, B. K. "High Level Data Flow Analysis, Pt. 1(Classical Structured Programming)." Res. Rep. RC5598, IBM T.J. Watson Res. Ct., Yorktown Heights, New York, August 1975.
 
15
{R2} Rosen, B. K. "High Level Data Flow Analysis, Pt. 2(Escapes and Jumps)." Res. Rep. RC5744, IBM T.J. Watson Rec. Ct., Yorktown Heights, New York, April 1976.
 
16
{S} Spillman, T. C. "Exposing Side-Effects in a PL/1 Optimizing Compiler." Information Processing, North-Holland Pub. Co., Amsterdam (1971), 376-381.
 
17
{UH} Ullman, J. D. and Hecht, M. S. "A Simple Algorithm for Global Data Flow Analysis Problems." SIAM J. Computing 4, 4(1975), 519-532.
18

CITED BY  86