Scalable flow-sensitive pointer analysis for java with strong updates
The ability to perform strong updates is the main contributor to the precision of flow-sensitive pointer analysis algorithms. Traditional flow-sensitive pointer analyses cannot strongly update pointers residing in the heap. This is a severe restriction for Java programs. In this paper, we propose a...
Saved in:
Published in | ECOOP 2012 – Object-Oriented Programming pp. 665 - 687 |
---|---|
Main Authors | , |
Format | Conference Proceeding Book Chapter |
Language | English |
Published |
Berlin, Heidelberg
Springer-Verlag
11.06.2012
Springer Berlin Heidelberg |
Series | ACM Other Conferences |
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | The ability to perform strong updates is the main contributor to the precision of flow-sensitive pointer analysis algorithms. Traditional flow-sensitive pointer analyses cannot strongly update pointers residing in the heap. This is a severe restriction for Java programs. In this paper, we propose a new flow-sensitive pointer analysis algorithm for Java that can perform strong updates on heap-based pointers effectively. Instead of points-to graphs, we represent our points-to information as maps from access paths to sets of abstract objects. We have implemented our analysis and run it on several large Java benchmarks. The results show considerable improvement in precision over the points-to graph based flow-insensitive and flow-sensitive analyses, with reasonable running time. |
---|---|
ISBN: | 3642310567 9783642310560 |
ISSN: | 0302-9743 1611-3349 |
DOI: | 10.1007/978-3-642-31057-7_29 |