2018
DOI: 10.1145/3296979.3192418
|View full text |Cite
|
Sign up to set email alerts
|

Pinpoint: fast and precise sparse value flow analysis for million lines of code

Abstract: When dealing with millions of lines of code, we still cannot have the cake and eat it: sparse value-flow analysis is powerful in checking source-sink problems, but existing work cannot escape from the “pointer trap” – a precise points-to analysis limits its scalability and an imprecise one seriously undermines its precision. We present Pinpoint, a holistic approach that decomposes the cost of high-precision points-to analysis by precisely discovering local data dependence and delaying the expensive inter-proce… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
40
0

Year Published

2019
2019
2023
2023

Publication Types

Select...
5
2

Relationship

1
6

Authors

Journals

citations
Cited by 25 publications
(40 citation statements)
references
References 51 publications
0
40
0
Order By: Relevance
“…Figure 3 shows a running example using the value-flow graph where we check the null-deference and the free-global-pointer bugs following the workflow illustrated in Figure 2. Given a program, we first follow the previous work [12,38,42] to build the value-flow graph in order to check the two properties with the precision of path-sensitivity. Here, path-sensitivity means that when searching paths on the value-flow graph, we invoke an SMT solver to solve path conditions and other property-specific constraints to prune infeasible paths.…”
Section: Mutual Synergymentioning
confidence: 99%
See 3 more Smart Citations
“…Figure 3 shows a running example using the value-flow graph where we check the null-deference and the free-global-pointer bugs following the workflow illustrated in Figure 2. Given a program, we first follow the previous work [12,38,42] to build the value-flow graph in order to check the two properties with the precision of path-sensitivity. Here, path-sensitivity means that when searching paths on the value-flow graph, we invoke an SMT solver to solve path conditions and other property-specific constraints to prune infeasible paths.…”
Section: Mutual Synergymentioning
confidence: 99%
“…Second, despite many studies on value-flow analysis [12,30,38,41,42], we still have a lack of general and extensible specification models that can maximize the opportunities of sharing analysis results across the processes of checking different properties. Some of the existing studies only focus on checking a specific property (e.g., memory leak [42]), while others adopt different specifications to check the same value-flow property (e.g., double free [12,38]). Preliminaries.…”
Section: Value-flow Propertiesmentioning
confidence: 99%
See 2 more Smart Citations
“…In verification and bug-finding, PTA is often used as a pre-analysis to limit the implicit dependencies between values stored in memory. This is typically followed by a deeper, more expensive, path-sensitive analysis (e.g., [1], [2], [3]). In both applications, the efficiency of PTA is crucial since it directly impacts compilation and verification times, while precision of the analysis determines its usability.…”
Section: Introductionmentioning
confidence: 99%