On The Complexity of Function Pointer
May-Alias Analysis
Robert Muth Saumya Debray
Department of Computer Science
University of Arizona
Tucson, AZ 85721, U.S.A.
Abstract
This paper considers the complexity of interprocedural
function pointer may-alias analysis, i.e., determining the set of functions
that a function pointer (in a language such as C) can point to at a point in
a program. This information is necessary, for example, in order to
construct the control flow graphs of programs that use function pointers,
which in turn is fundamental for most dataflow analyses and optimizations.
We show that the general problem is complete for deterministic exponential time.
We then consider two natural simplifications to the basic (precise) analysis and
examine their complexity.
The approach described can be used to readily obtain similar complexity
results for related analyses such as reachability and recursiveness.