ACM Home Page
Please provide us with feedback. Feedback
Type-based alias analysis
Full text PdfPdf (1.66 MB)
Source Conference on Programming Language Design and Implementation archive
Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation table of contents
Montreal, Quebec, Canada
Pages: 106 - 117  
Year of Publication: 1998
ISBN:0-89791-987-4
Also published in ...
Authors
Amer Diwan  Department of Computer Science, Stanford University, Stanford, CA
Kathryn S. McKinley  Department of Computer Science, University of Massachusetts, Amherst, MA
J. Eliot B. Moss  Department of Computer Science, University of Massachusetts, Amherst, MA
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 57,   Citation Count: 36
Additional Information:

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

ABSTRACT

This paper evaluates three alias analyses based on programming language types. The first analysis uses type compatibility to determine aliases. The second extends the first by using additional high-level information such as field names. The third extends the second with a flow-insensitive analysis. Although other researchers suggests using types to disambiguate memory references, none evaluates its effectiveness. We perform both static and dynamic evaluations of type-based alias analyses for Modula-3, a statically-typed type-safe language. The static analysis reveals that type compatibility alone yields a very imprecise alias analysis, but the other two analyses significantly improve alias precision. We use redundant load elimination (RLE) to demonstrate the effectiveness of the three alias algorithms in terms of the opportunities for optimization, the impact on simulated execution times, and to compute an upper bound on what a perfect alias analysis would yield. We show modest dynamic improvements for (RLE), and more surprisingly, that on average our alias analysis is within 2.5% of a perfect alias analysis with respect to RLE on 8 Modula-3 programs. These results illustrate that to explore thoroughly the effectiveness of alias analyses, researchers need static, dynamic, and upper-bound analysis. In addition, we show that for type-safe languages like Modula-3 and Java, a fast and simple alias analysis may be sufficient for many applications.


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
Rodney M. Bates. K-trees. Personal communication, November 1994.
 
4
Michael Burke, Paul R. Carini, Jong-Deok Choi, and Michael Hind. Efficient flow-insensitive alias analysis in the presence of pointers. Technical Report 19546, film T.J. Watson Research Center, Yorktown Heights, NY, September 1994.
 
5
6
7
8
9
10
11
 
12
Digital Equipment Corporation. DEC3000 300/400/500/600/800 Models: System Programmer's Manual, 1 edition, September 1993. First Printing.
 
13
14
15
16
17
 
18
19
20
21
22
 
23
 
24
 
25
26
27
28
 
29
30
31
32
 
33
Sun Microsystems Computer Corporation. The Java language specification, 1.0 beta edition, October 1995.
34
35
36

CITED BY  36

Collaborative Colleagues:
Amer Diwan: colleagues
Kathryn S. McKinley: colleagues
J. Eliot B. Moss: colleagues