JVM 2001 Abstract
Can a Shape Analysis Work at Run-time?
Jeff Bogda and Ambuj Singh,
University of California, Santa Barbara
A shape analysis is a whole-program analysis that can
identify run-time objects that do not need to be placed in
the global heap and do not require any locking. Previous
research has shown that these two optimizations can
speed up some applications significantly. Unfortunately,
since a shape analysis—like any whole-program
analysis—requires a prioriknowledge of the complete
call graph, it has not been implemented in a JVM, which
essentially builds the call graph as a program executes.
In this paper, we adapt an efficient shape analysis to be
incremental so that it can analyze an executing program.
We investigate trade-offs regarding three approaches to
performing the analysis inside a JVM and report results
on a number of applications. Our measurements suggest
that such an analysis may be viable if it uses results of
previous executions and if it delays the initial analysis
until the end of the first execution.
- View the full text of this paper in
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
- To become a USENIX Member, please see our Membership Information.