| | |
Summary: Practical and Accurate Low-Level Pointer Analysis
Bolei Guo Matthew J. Bridges Spyridon Triantafyllis Guilherme Ottoni
Easwaran Raman David I. August
Department of Computer Science, Princeton University
{bguo, mbridges, strianta, ottoni, eraman, august}@princeton.edu
Abstract
Pointer analysis is traditionally performed once, early
in the compilation process, upon an intermediate repre-
sentation (IR) with source-code semantics. However, per-
forming pointer analysis only once at this level imposes a
phase-ordering constraint, causing alias information to be-
come stale after subsequent code transformations. More-
over, 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 points-to anal-
ysis 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
|