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...

Full description

Saved in:
Bibliographic Details
Published inECOOP 2012 – Object-Oriented Programming pp. 665 - 687
Main Authors De, Arnab, D'Souza, Deepak
Format Conference Proceeding Book Chapter
LanguageEnglish
Published Berlin, Heidelberg Springer-Verlag 11.06.2012
Springer Berlin Heidelberg
SeriesACM Other Conferences
Subjects
Online AccessGet full text

Cover

Loading…
More Information
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