2017
DOI: 10.1145/3158118
|View full text |Cite
|
Sign up to set email alerts
|

Optimal Dyck reachability for data-dependence and alias analysis

Abstract: A fundamental algorithmic problem at the heart of static analysis is Dyck reachability. The input is a graph where the edges are labeled with different types of opening and closing parentheses, and the reachability information is computed via paths whose parentheses are properly matched. We present new results for Dyck reachability problems with applications to alias analysis and data-dependence analysis. Our main contributions, that include improved upper bounds as well as lower bounds that establish optimali… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
84
0

Year Published

2019
2019
2023
2023

Publication Types

Select...
5

Relationship

1
4

Authors

Journals

citations
Cited by 39 publications
(84 citation statements)
references
References 66 publications
0
84
0
Order By: Relevance
“…Then, if (u, d 1 ) is reachable from (s p , d 3 ) via a same-context valid path, then by adding the edge e, the vertex (v, d 2 ) also becomes accessible from (s p , d 3 ). Hence, it adds the shortcut edge ((s p , d 3 ), (v, d 2 )) to Q, so that it is later added to the graph H. Moreover, if u is the start s p of the procedure p and v is its end e p , then for every call vertex c l calling the procedure p and its respective return-site r l , we can add summary edges that summarize the effect of calling p (lines [14][15][16][17][18][19]. Finally, lines 20-24 computeĜ as discussed above.…”
Section: Preprocessingmentioning
confidence: 99%
See 4 more Smart Citations
“…Then, if (u, d 1 ) is reachable from (s p , d 3 ) via a same-context valid path, then by adding the edge e, the vertex (v, d 2 ) also becomes accessible from (s p , d 3 ). Hence, it adds the shortcut edge ((s p , d 3 ), (v, d 2 )) to Q, so that it is later added to the graph H. Moreover, if u is the start s p of the procedure p and v is its end e p , then for every call vertex c l calling the procedure p and its respective return-site r l , we can add summary edges that summarize the effect of calling p (lines [14][15][16][17][18][19]. Finally, lines 20-24 computeĜ as discussed above.…”
Section: Preprocessingmentioning
confidence: 99%
“…the tree decomposition obtained by removing b l (lines 10-11). Finally, it repeats the reachability computation on H l (lines [12][13][14]. The running time of the algorithm is O(n · |D * | 3 ).…”
Section: : Local Preprocessingmentioning
confidence: 99%
See 3 more Smart Citations