Skip to Main content Skip to Navigation
New interface
Journal articles

Combining Range and Inequality Information for Pointer Disambiguation

Abstract : Pentagons is an abstract domain invented by Logozzo and Fähndrich to validate array accesses in low-level programming languages. This algebraic structure provides a cheap “less-than check”, which builds a partial order between the integer variables used in a program. In this paper, we show how we have used the ideas available in Pentagons to design and implement a novel alias analysis. With this new algorithm, we are able to disambiguate pointers with off- sets, that commonly occur in C programs, in a precise and efficient way. Together with this new abstract domain we describe several implementation decisions that let us produce a practical pointer disambiguation algorithm on top of the LLVM compiler. Our alias analysis is able to handle programs as large as SPEC CPU2006’s gcc in a few minutes. Furthermore, it improves on LLVM’s industrial quality analyses. As an extreme example, we have observed a 4x improvement when analyzing SPEC’s lbm.
Complete list of metadata

Cited literature [43 references]  Display  Hide  Download
Contributor : Laure Gonnord Connect in order to contact the contributor
Submitted on : Friday, October 27, 2017 - 3:11:48 PM
Last modification on : Tuesday, October 25, 2022 - 4:18:09 PM
Long-term archiving on: : Sunday, January 28, 2018 - 3:00:29 PM


Files produced by the author(s)


  • HAL Id : hal-01625402, version 1



Maroua Maalej, Vitor Paisante, Fernando Magno Quintão Pereira, Laure Gonnord. Combining Range and Inequality Information for Pointer Disambiguation. Science of Computer Programming, 2017. ⟨hal-01625402⟩



Record views


Files downloads