2016
DOI: 10.4230/lipics.ecoop.2016.22
|View full text |Cite
|
Sign up to set email alerts
|

Boomerang: Demand-Driven Flow- and Context-Sensitive Pointer Analysis for Java

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
14
0

Year Published

2017
2017
2022
2022

Publication Types

Select...
5
3

Relationship

0
8

Authors

Journals

citations
Cited by 27 publications
(14 citation statements)
references
References 0 publications
0
14
0
Order By: Relevance
“…Demand-driven analyses (e.g., [Shang et al 2012;Späth et al 2016;Sridharan and Bodík 2006;Sridharan et al 2005;Sui and Xue 2016;Wang et al 2017;Yan et al 2011]) typically only compute points-to information for program points that may affect a particular site of interest for specific clients. In contrast, the Zipper and Zipper e analyses as well as other whole-program pointer analyses [Bravenboer and Smaragdakis 2009;Hassanshahi et al 2017;Jeon et al 2019Jeon et al , 2018Jeong et al 2017;Hendren 2003, 2006;Li et al 2018b;Milanova et al 2002Milanova et al , 2005Smaragdakis et al 2011Smaragdakis et al , 2014Tan et al , 2017Thiessen and Lhoták 2017;Whaley and Lam 2004] compute points-to information for all sites, thereby providing information for all possible clients.…”
Section: Related Workmentioning
confidence: 99%
“…Demand-driven analyses (e.g., [Shang et al 2012;Späth et al 2016;Sridharan and Bodík 2006;Sridharan et al 2005;Sui and Xue 2016;Wang et al 2017;Yan et al 2011]) typically only compute points-to information for program points that may affect a particular site of interest for specific clients. In contrast, the Zipper and Zipper e analyses as well as other whole-program pointer analyses [Bravenboer and Smaragdakis 2009;Hassanshahi et al 2017;Jeon et al 2019Jeon et al , 2018Jeong et al 2017;Hendren 2003, 2006;Li et al 2018b;Milanova et al 2002Milanova et al , 2005Smaragdakis et al 2011Smaragdakis et al , 2014Tan et al , 2017Thiessen and Lhoták 2017;Whaley and Lam 2004] compute points-to information for all sites, thereby providing information for all possible clients.…”
Section: Related Workmentioning
confidence: 99%
“…In case multiple possible concrete types are found, one possibility is to optimize the pipeline separately for each of them and then branch at run-time based on the actual type. Since we typically only need the type information for a small number of expressions in the program, a demand-driven analysis [Späth et al 2016;Sridharan and Bodík 2006], which only analyzes the relevant part of the code, is a good fit.…”
Section: Phase 1: Pre-analysismentioning
confidence: 99%
“…(That may happen if the stream is created neither from a collection nor from static methods such as IntStream.of.) Incorporating a full-fledged pointer analysis, such as Boomerang, [Späth et al 2016] can likely help the analysis in these cases. The analysis also experiences imprecision when the pipeline structure depends on branching (for example when an intermediate operation is applied to a stream only under some conditions, as in line 160).…”
Section: Rq2: Evaluation On General Programsmentioning
confidence: 99%
“…Their techniques keep applying transfer functions that infer preconditions backward from given post-conditions until they find any contradictory condition that refutes the queries. Demand-driven analysis [8,10,22,29,30,34] also performs a backward analysis, by which it finds relevant parts of programs to prove given queries and applies context-sensitivity to the functions that require higher precision in the program parts. Their goal of using backward analysis is different from ours in that they use a backward analysis to find contradictory pre-conditions or relevant program parts for proving some queries, while we use it to find major causes of analysis imprecision from some preceding forward analysis results.…”
Section: Cegar Approachmentioning
confidence: 99%