Demand-driven points-to analysis for Java

13 years 11 months ago
Demand-driven points-to analysis for Java
We present a points-to analysis technique suitable for environments with small time and memory budgets, such as just-in-time (JIT) compilers and interactive development environments (IDEs). Our technique is demand-driven, performing only the work necessary to answer each query (a request for a variable’s points-to information) issued by a client. In cases where even the demand-driven approach exceeds the time budget for a query, we employ early termination, i.e., stopping the analysis prematurely and returning an over-approximated result to the client. Our technique improves on previous demand-driven points-to analysis algorithms [17, 33] by achieving much higher precision under small time budgets and early termination. We formulate Andersen’s analysis [5] for Java as a CFLreachability problem [33]. This formulation shows that Andersen’s analysis for Java is a balanced-parentheses problem, an insight that enables our new techniques. We exploit the balanced parentheses structure ...
Manu Sridharan, Denis Gopan, Lexin Shan, Rastislav
Added 28 Jun 2010
Updated 28 Jun 2010
Type Conference
Year 2005
Authors Manu Sridharan, Denis Gopan, Lexin Shan, Rastislav Bodík
Comments (0)