2021
DOI: 10.1145/3485524
|View full text |Cite
|
Sign up to set email alerts
|

Making pointer analysis more precise by unleashing the power of selective context sensitivity

Abstract: Traditional context-sensitive pointer analysis is hard to scale for large and complex Java programs. To address this issue, a series of selective context-sensitivity approaches have been proposed and exhibit promising results. In this work, we move one step further towards producing highly-precise pointer analyses for hard-to-analyze Java programs by presenting the Unity-Relay framework, which takes selective context sensitivity to the next level. Briefly, Unity-Relay is a one-two punch: given a set of differe… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Year Published

2021
2021
2023
2023

Publication Types

Select...
3
2
1

Relationship

0
6

Authors

Journals

citations
Cited by 19 publications
(2 citation statements)
references
References 72 publications
0
2
0
Order By: Relevance
“…Arbitrary typestate analysis requires a precise alias analysis for soundness; because wholeprogram alias analyses with sufficient precision scale poorly-taking on the order of hours for practical programs [289], despite significant research investment in the problem-typestate analysis is usually considered impractical. To see why aliasing information is necessary, consider a file object of type OpenedFile with two aliases: f and g. If f.close() is called, the type of f changes to ClosedFile.…”
Section: Typestatementioning
confidence: 99%
See 1 more Smart Citation
“…Arbitrary typestate analysis requires a precise alias analysis for soundness; because wholeprogram alias analyses with sufficient precision scale poorly-taking on the order of hours for practical programs [289], despite significant research investment in the problem-typestate analysis is usually considered impractical. To see why aliasing information is necessary, consider a file object of type OpenedFile with two aliases: f and g. If f.close() is called, the type of f changes to ClosedFile.…”
Section: Typestatementioning
confidence: 99%
“…In practical imperative programming languages with unrestricted aliasing, inter-procedural may-alias analysis is NP-hard [190], and scaling alias analysis to real programs while maintaining acceptable precision remains an open research problem. State-of-the-art analyses often run for an hour or more on practical programs [289].…”
Section: Motivationmentioning
confidence: 99%