Proceedings of the 2016 International Symposium on Code Generation and Optimization 2016
DOI: 10.1145/2854038.2854050
|View full text |Cite
|
Sign up to set email alerts
|

Symbolic range analysis of pointers

Abstract: Alias analysis is one of the most fundamental techniques that compilers use to optimize languages with pointers. However, in spite of all the attention that this topic has received, the current state-of-the-art approaches inside compilers still face challenges regarding precision and speed. In particular, pointer arithmetic, a key feature in C and C++, is yet to be handled satisfactorily. This work presents a new alias analysis algorithm to solve this problem. The key insight of our approach is to combine alia… Show more

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
2021
2021

Publication Types

Select...
4
2

Relationship

2
4

Authors

Journals

citations
Cited by 11 publications
(14 citation statements)
references
References 38 publications
(47 reference statements)
0
14
0
Order By: Relevance
“…Aliasing is also impossible in well-defined programs between references derived from non-aliased base pointers. Additionally, derived pointers whose offsets have nonoverlapping ranges cannot alias, as discussed in previous work [4,27,31]. Thus, our analysis says nothing about p1 and p2 in scenarios as simple as: p1 = malloc(); p2 = malloc(), or p1 = p + 1; p2 = p + 2.…”
Section: Pointer Disambiguationmentioning
confidence: 86%
See 3 more Smart Citations
“…Aliasing is also impossible in well-defined programs between references derived from non-aliased base pointers. Additionally, derived pointers whose offsets have nonoverlapping ranges cannot alias, as discussed in previous work [4,27,31]. Thus, our analysis says nothing about p1 and p2 in scenarios as simple as: p1 = malloc(); p2 = malloc(), or p1 = p + 1; p2 = p + 2.…”
Section: Pointer Disambiguationmentioning
confidence: 86%
“…There are points-to analyses designed specifically to deal with pointer arithmetics [2,4,24,27,31,32,37,39,41]. Still, none of them works satisfactorily for the two examples seen in Figure 1.…”
Section: Overviewmentioning
confidence: 99%
See 2 more Smart Citations
“…In the second front, researchers have devised analyses that infer the contents [48] and the size of arrays [49] in weakly-typed programming languages. More importantly, recent years have seen a new flurry of algorithms designed to analyze C/C++ style pointer arithmetics [50][51][52][53]. The wide adoption of higher-level programming languages coupled with the construction of new tools to analyze lower-level languages is exciting.…”
Section: Distributed Programmingmentioning
confidence: 99%