ACM Home Page
Please provide us with feedback. Feedback
Compositional pointer and escape analysis for Java programs
Full text PdfPdf (2.42 MB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications table of contents
Denver, Colorado, United States
Pages: 187 - 206  
Year of Publication: 1999
ISBN:1-58113-238-7
Also published in ...
Authors
John Whaley  Laboratory for Computer Science, Massachusetts Institute of Technology, Cambridge, MA
Martin Rinard  Laboratory for Computer Science, Massachusetts Institute of Technology, Cambridge, MA
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 11,   Downloads (12 Months): 90,   Citation Count: 93
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues   peer to peer  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/320384.320400
What is a DOI?

ABSTRACT

This paper presents a combined pointer and escape analysis algorithm for Java programs. The algorithm is based on the abstraction of points-to escape graphs, which characterize how local variables and fields in objects refer to other objects. Each points-to escape graph also contains escape information, which characterizes how objects allocated in one region of the program can escape to be accessed by another region. The algorithm is designed to analyze arbitrary regions of complete or incomplete programs, obtaining complete information for objects that do not escape the analyzed regions.We have developed an implementation that uses the escape information to eliminate synchronization for objects that are accessed by only one thread and to allocate objects on the stack instead of in the heap. Our experimental results are encouraging. We were able to analyze programs tens of thousands of lines long. For our benchmark programs, our algorithms enable the elimination of between 24% and 67% of the synchronization operations. They also enable the stack allocation of between 22% and 95% of the objects.


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
Lars Ole Andersen. Program Analysis and Specialization for the C Programming Language. PhD thesis, DIKU, University of Copenhagen, May 1994.
3
4
5
6
7
8
9
10
11
12
 
13
14
15
 
16
17
18
 
19
20
21
22
23
24
 
25
26
27
28
 
29
Y. Tang and P. Jouvelot. Control-flow effects for escape analysis. In Workshop on Static Analysis, pages 313- 321, September 1992.

CITED BY  93
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Collaborative Colleagues:
John Whaley: colleagues
Martin Rinard: colleagues

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