ACM Home Page
Please provide us with feedback. Feedback
Interprocedural may-alias analysis for pointers: beyond k-limiting
Full text PdfPdf (1.36 MB)
Source Conference on Programming Language Design and Implementation archive
Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation table of contents
Orlando, Florida, United States
Pages: 230 - 241  
Year of Publication: 1994
ISBN:0-89791-662-X
Also published in ...
Author
Alain Deutsch  INRIA Rocquencout, Le Chesnay Cedex, France
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 14,   Downloads (12 Months): 67,   Citation Count: 71
Additional Information:

abstract   references   cited by   index terms   review   peer to peer  

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/178243.178263
What is a DOI?

ABSTRACT

Existing methods for alias analysis of recursive pointer data structures are based on two approximation techniques: k-limiting, and store-based (or equivalently location or region-based) approximations, which blur distinction between elements of recursive data structures. Although notable progress in inter-procedural alias analysis has been recently accomplished, very little progress in the precision of analysis of recursive pointer data structures has been seen since the inception of these approximation techniques by Jones and Muchnick a decade ago. As a result, optimizing, verifying and parallelizing programs with pointers has remained difficult. We present a new parametric framework for analyzing recursive pointer data structures which can express a new natural class of alias information not accessible to existing methods. The key idea is to represent alias information by pairs of symbolic access paths which are qualified by symbolic descriptions of the positions for which the alias pair holds. Based on this result, we present an algorithm for interprocedural may-alias analysis with pointers which on numerous examples that occur in practice is much more precise than recently published algorithms [CWZ90, He90, LR92, CBC93].


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.

 
POP91
ACM Press. Eighteenth Annual ACM Sy~p. on Principles of Programming Languages, Orlando, FL, Jan. 1991.
 
PLD92
ACM Press. SIGPLAN'9~ Conf. on Programming Language Design and implementation, volume 27(7) of SIG- PLAN Notices, San Francisco, June 1992.
 
ASU86
BK89
Br64
CWZ90
CBC93
CCF91
 
Co81
P, Cousot. Semantic foundations of program analysis. In Program Flow Analysis: Theory and Applications, pp. 303-342. Prentice-Hall, 1981.
CC77a
CC77b
 
CC77c
P. Cousot and R. Cousot. Static determination of dynamic properties of recursive procedures. In Working Conf. on Formal Description o~ Programming Concepts. IFIP WG 2.2, North-Holland, Aug. 1977.
CC79
 
CC92
CH78
De90
 
De92a
A. Deutsch. Operational Models of Programming Languages and Representations of Relations on Regular Languages with Application to the Static Determination of Dynamic Aliasing Properties of Data. PhD thesis, LIX, Ecole Polytechnique, F-91128, Palaiseau, France, 1992.
 
De92b
A. Deutsch. A storeless model of aliasing and its abstractions using finite representations of right-regular equivalence relations. In {IC092}, pp. 2-13.
 
DGS94
 
Ei74
 
Gr89
P. Granger. Static analysis of arithmetical congruences. International Journal of Computer Mathematics, 30:165-190, 1989.
 
Gr91
 
Gr92
 
Ha79
N. Halbwachs. Dgterm~nation automatique de relations lin~aires vdrifi~es par lea variables d'un programme. PhD thesis, Universit~ Sclentlfique et M~dicale de Grenoble & Institut National Polytechnique de Grenoble, Grenoble, France, Mar. 1979.
 
Ha89
W.L. Harrison. The interprocedural analysis and automatic parallelisation of Scheme programs. Lisp and Symbolic Computation, 2(3):176-396, Oct. 1989.
 
He88
L, Hederman. Compile time garbage collection. Master's thesis, Rice University, Houston, Aug. 1988. Tech. report COMP TR88-75.
 
He90
 
HG92
L.J. Hendren and G.R. Gao. Designing programming languages for analysability: a fresh look at pointer data structures. In {ICC92}, pp. 242-251.
HHN92
HPR89
Hu86
 
ICC92
Proc. of the IEEE 1992 International Conf. on Computer Languages, San Francisco, Apr. 1992. IEEE Press.
 
Jo81
N.D. Jones. Flow analysis of lambda expressions. In Symp. on Functional Languages and Computer Architecture, pp. 376-401. Chalmers University of Technology, June 1981.
 
JM81
N.D. Jones and S. Muchnick. Flow analysis and optimization of Lisp-like structures. In S. Muchnick and N.D. Jones, editors, Program Flow Analysis: Theory and Applications, pp. 102-131. Prentlce-Hall, 1981.
JM82
 
Jo81
H.B.M. Jonkers. Abstract storage structures. In de Bakker and van Vllet, editors, Algorithmic Languages, pp. 321- 343. IFIP, North Holland, 1981.
 
Ka76
M. Karr. Affine relationships among variables of a program. Acts Informatica, 6:133-151, 1976.
Ki73
 
La92a
La92b
LR91
LR92
LH88a
LH88b
ML+93
 
MR89
T.J. Marlowe and B.G. Ryder. Hybrid incremental alias algorithms. Tech. report LCSR-TR-129, Rutgers University, Oct. 1989.
 
Ma91
F. Masdupuy. Using abstract interpretation to detect array data dependencies. In Proc. of the International Syrup. on 8upercomputing, pp. 19-27. Kyushu University Press, Nov. 1991. ISBN 4-87378-284-8.
 
Mo84
NPD87
Pa66
 
RF93
RM88
 
SF+90
 
SP81
M. Sharir and A. Pnueli. Two approaches to interprocedural data flow analysis, in S. Muchnick and N.D. Jones, editors, Program Flow Analysis: Theory and Applications, pp. 189-234. Prentice-Hall, 1981.
 
Sh91
 
St92
Wa91
We80

CITED BY  71
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


REVIEW

"Marie Jeanne Helene Iordache : Reviewer"

Deutsch reports on methods for alias analysis of recursive pointer data structures. The paper is meant for advanced programmers who work on important jobs like programming language implementation, compiler construction, and operating systems i  more...


Peer to Peer - Readers of this Article have also read: