2012
DOI: 10.1007/978-3-642-31057-7_29
|View full text |Cite
|
Sign up to set email alerts
|

Scalable Flow-Sensitive Pointer Analysis for Java with Strong Updates

Abstract: Abstract. 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 a… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
31
0

Year Published

2013
2013
2023
2023

Publication Types

Select...
5
2

Relationship

0
7

Authors

Journals

citations
Cited by 28 publications
(31 citation statements)
references
References 38 publications
(47 reference statements)
0
31
0
Order By: Relevance
“…• Hybrid model. Chakraborty [14] describes a hybrid heap model which represents heap structures using a combination of store based and storeless models [16,25,50,72]. Heap memory of Figure 3b is represented using the hybrid model in Figure 7.…”
Section: Heap Summarization Techniquesmentioning
confidence: 99%
See 2 more Smart Citations
“…• Hybrid model. Chakraborty [14] describes a hybrid heap model which represents heap structures using a combination of store based and storeless models [16,25,50,72]. Heap memory of Figure 3b is represented using the hybrid model in Figure 7.…”
Section: Heap Summarization Techniquesmentioning
confidence: 99%
“…De and D'Souza [16] highlight an imprecision in saving pointer information as graphs. We illustrate this imprecision using Figure 19a for statements 9, 10, and 11 of our running program in Figure 8a.…”
Section: K-limiting Summarizationmentioning
confidence: 99%
See 1 more Smart Citation
“…For points-to multibloom, the rows correspond to pointers and the columns indicate address-taken variables. In our implementation, we treat pointers and objects in a uniform fashion, unlike in strongly typed languages such as Java wherein pointers (called references) and objects are clearly demarcated [De and De'Souza 2012]. Thus, in Java, an object cannot act as a reference.…”
Section: Using Multibloomsmentioning
confidence: 99%
“…) Modeling the flow of data through the heap requires handling pointers and aliasing. We consider three different choices of heap abstraction: using summary objects [25,27], which are weakly updated, to summarize multiple heap locations; access paths [21,52], which are strongly updated ; and a combination of the two.…”
Section: Introductionmentioning
confidence: 99%