Practical and accurate low-level pointer analysis

Bolei Guo, Matthew J. Bridges, Spyridon Triantafyllis, Guilherme Ottoni, Easwaran Raman, David I. August

Research output: Chapter in Book/Report/Conference proceedingConference contribution

41 Scopus citations


Pointer analysis is traditionally performed once, early in the compilation process, upon an intermediate representation (IR) with source-code semantics. However, performing pointer analysis only once at this level imposes a phase-ordering constraint, causing alias information to become stale after subsequent code transformations. Moreover, high-level pointer analysis cannot be used at link time or run time, where the source code is unavailable. This paper advocates performing pointer analysis on a low-level intermediate representation. We present the first context-sensitive and partially flow-sensitive point s-to analysis designed to operate at the assembly level. As we will demonstrate, low-level pointer analysis can be as accurate as high-level analysis. Additionally, our low-level pointer analysis also enables a quantitative comparison of propagating high-level pointer analysis results through subsequent code transformations, versus recomputing them at the low level. We show that, for C programs, the former practice is considerably less accurate than the latter.

Original languageEnglish (US)
Title of host publicationProceedings of the 2005 International Symposium on Code Generation and Optimization, CGO 2005
Number of pages12
StatePublished - 2005

Publication series

NameProceedings of the 2005 International Symposium on Code Generation and Optimization, CGO 2005

All Science Journal Classification (ASJC) codes

  • General Engineering


Dive into the research topics of 'Practical and accurate low-level pointer analysis'. Together they form a unique fingerprint.

Cite this