Related articles |
---|
Context Sensitivity and Escape Analysis for Java vidyut.vidyut@gmail.com (2006-04-21) |
From: | vidyut.vidyut@gmail.com |
Newsgroups: | comp.compilers |
Date: | 21 Apr 2006 23:45:58 -0400 |
Organization: | http://groups.google.com |
Keywords: | Java, analysis |
Posted-Date: | 21 Apr 2006 23:45:58 EDT |
Hi,
This mail is with regard to the precision of points to relations that
can be obtained by escape analysis as mentioned in the paper :
John Whaley and Martin Rinard, " Compositional pointer and escape
analysis for Java programs"
OOPSLA 1999.
The points-to escape graph that they are constructing is essentially
the propagation of the points to relations through every program point
( and so the analysis is flow sensitive ). But is this context
sensitive in the sense it would not allow interprocedural unrealizable
paths and distinguish between multiple calling contexts ?
The paper says : "Our approach extracts a single analysis result for
calling contexts with no aliases, and merges nodes for calling contexts
with aliases. The disadvantage of this approach is that it may produce
less precise results than approaches that maintain information for
multiple calling contexts. The advantage is that it leads to a simpler
algorithm and smaller analysis results."
(1) Since this analysis is analyzing a procedure once and for every
calling context doing a mapping from the incoming points-to-graph to
get a new graph after the call statement, why is it giving less precise
results ?
(2) Can anyone give me an example where the analysis is losing
precision due to the above stated criterion ?
(3) Also if this is the case, can a precise context sensitive and flow
sensitive points to analysis help in improving the precision of escape
analysis ( in the sense more objects can be discovered to be captured )
?
Thanks.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.