Download:
by Frédéric Vivien
In SIGPLAN Conference on Programming Language Design and Implementation
http://www.cag.lcs.mit.edu/~rinard/paper/pldi01.full.pdf
Add To MetaCart
Abstract:
We present a new pointer and escape analysis. Instead of analyzing the whole program, the algorithm incrementally analyzes only those parts of the program that may deliver useful results. An analysis policy monitors the analysis results to direct the incremental investment of analysis resources to those parts of the program that offer the highest expected optimization return. Our experimental results show that almost all of the objects are allocated at a small number of allocation sites and that an incremental analysis of a small region of the program surrounding each site can deliver almost all of the benefit of a whole-program analysis. Our analysis policy is usually able to deliver this benefit at a fraction of the whole-program analysis cost. 1.
Citations
|
738
|
The splash-2 programs: Characterization and methodological considerations
– Woo, Ohara, et al.
- 1995
|
|
241
|
Garbage collection in an uncooperative environment
– Boehm, Weiser
- 1988
|
|
216
|
Escape Analysis for Java
– Choi, Gupta, et al.
- 1999
|
|
179
|
Compositional pointer and escape analysis for Java programs
– Whaley, Rinard
- 1999
|
|
156
|
The Real-Time Specification for Java
– Bollella, Gosling, et al.
- 2000
|
|
107
|
Removing unnecessary synchronization in Java
– Bogda, Hölzle
- 1999
|
|
101
|
Effective synchronization removal for java
– Ruf
- 2000
|
|
91
|
The cartesian product algorithm: Simple and precise type inference of parametric polymorphism
– Agesen
- 1995
|
|
81
|
Escape analysis for object oriented languages. application to Java tm
– Blanchet
- 1998
|
|
55
|
Demand interprocedural dataflow analysis
– Horwitz, Reps, et al.
- 1995
|
|
37
|
Data-flow analysis of program fragments
– Rountev, Ryder, et al.
- 1999
|
|
33
|
A practical framework for demand-driven interprocedural data flow analysis
– Duesterwald, Gupta, et al.
- 1997
|
|
27
|
Credible compilation
– Rinard
- 1999
|
|
22
|
Points-to and side-effect analyses for programs built with precompiled libraries
– Rountev, Ryder
- 2001
|
|
19
|
et al, The Real-Time Specification for Java
– Bollella
- 2000
|
|
7
|
Simultaneous demand-driven data-flow and call graph analysis
– Agrawal
- 1999
|
|
7
|
Demand-driven interprocedural array property analysis
– Lin, Padua
- 1999
|
|
4
|
Incremental algorithms and empirical comparison for flow- and context-sensitive pointer aliasing analysis
– Yur, Ryder, et al.
- 1999
|
|
3
|
Optimizing the use of high performance libraries
– Guyer, Lin
- 2000
|