Mix your contexts well: opportunities unleashed by recent advances in scaling context-sensitivity
Citations
13 citations
8 citations
7 citations
3 citations
Additional excerpts
...…2014; Ghiya and Hendren 1996; Hind et al. 1999; Jeong et al. 2017; Li et al. 2020; Might et al. 2010; Milanova 2007; Milanova et al. 2014; Oh et al. 2014; Späth et al. 2019, 2016; Thakur and Nandivada 2019, 2020; Thiessen and Lhoták 2017; Wei and Ryder 2015; Wilson and Lam 1995; Yu et al. 2010]....
[...]
1 citations
Cites background or methods from "Mix your contexts well: opportuniti..."
...For example, Thakur and Nandivada [40] estimate the required amount of value contexts [14, 29] (points-to graphs reaching the entry points of methods) by computing the depth of the subgraphs reachable from each parameter of a method, in a pre-analysis; this information is independent of the flow and does not require performing an expensive iterative dataflow analysis....
[...]
...Meanwhile, I encountered interesting challenges and insights related to contextsensitive pointer analyses, which led to the development of some novel abstractions [40, 42] for context-sensitivity....
[...]
...In particular, for scaling context-sensitivity, Thakur and Nandivada [40, 42] propose several variants of novel analysis-specific context abstractions, and also use them as part of scaling precise analyses for JIT compilers [41]....
[...]
...For a more comprehensive discussion on the relative precisions of various context abstractions from Java program-analysis literature, the reader is referred to a recent work by Thakur and Nandivada [42]....
[...]
...Kanvar and Khedker [13] present a detailed study of the various choices available while writing such analyses in general, and Thakur and Nandivada [42] evaluate existing and novel choices of context abstractions for Java programs....
[...]
References
33 citations
24 citations
"Mix your contexts well: opportuniti..." refers methods in this paper
...Some prior works [13, 15] use a pre-analysis to approximate the methods/objects that follow some insightful patterns, and apply context-sensitivity partially to the identified methods/objects....
[...]
23 citations
"Mix your contexts well: opportuniti..." refers methods in this paper
...Prior works [25, 27] use a pre-analysis to identify code portions that do not affect the analysis results or may degrade scalability, and analyze them conservatively....
[...]
11 citations
"Mix your contexts well: opportuniti..." refers background or methods in this paper
...In order to find whether a method or its callees satisfy Insight 1, we modify the multi-stage analysis approach (consisting of a pre-, a main- and a post-analysis) already in place for LSRV contexts [30], as discussed next....
[...]
...This is because of the identification of relevance and the notion of level-summarization, and the splitting of the overall approach into three stages: pre-analysis, main-analysis, and post-analysis [30]....
[...]
...However, as shown by Thakur and Nandivada [30],valcs does not scale for popular whole-program heap analyses....
[...]
...For a given analysis, Thakur and Nandivada [30] show that LSRV contexts (lsrv) only scale the corresponding valuecontexts based analysis, without affecting its precision....
[...]
...Thakur and Nandivada [30] identify the relevant portions of value contexts and summarize them to form the analysis-specific abstraction of LSRV contexts; their approach scales individual value-contexts based analyses, and hence call-strings based analyses, without compromising on the precision of the analysis....
[...]
7 citations
"Mix your contexts well: opportuniti..." refers background or methods in this paper
...[22] use slicing to incrementally enhance the precision of k-limited object-sensitive analysis, and increase the value of k for objects that are identified as precision-critical....
[...]
...Over the last few years, limited-length versions of object-sensitivity (abbreviated as kobj) have been shown to offer reasonably wellbalanced precision-scalability trade-offs for object-oriented programs [28, 29]; their variants have also been introduced with a great interest, specially in order to make the original approaches scale to large programs [13, 14, 22]....
[...]
...Over the last few years, object sensitivity has become a much used context abstraction; further, there are several recent works that focus on scaling existing object-sensitive analyses, usually by compromising on their precision [13, 14, 22, 29]....
[...]
...For our evaluation, we set k = 1, as it is well-known [13, 14, 22] that the next more precise object-sensitive analysis 2objH , does not directly scale for many large benchmarks....
[...]
...We focus only on the heap-cloning enabled variants, as they have been used more popularly in recent literature [13, 14, 22] due to their higher precision....
[...]