Compositional Pointer and Escape Analysis for Java Programs

13 years 9 months ago
Compositional Pointer and Escape Analysis for Java Programs
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 elds 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 ...
John Whaley, Martin C. Rinard
Added 04 Aug 2010
Updated 04 Aug 2010
Type Conference
Year 1999
Authors John Whaley, Martin C. Rinard
Comments (0)