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 ow graphs of programs that use function pointers, which in turn is fundamental for most data ow analyses and optimizations. We show that the general problem is complete for deterministic exponential time. We then consider two natural simpli cations 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.
Robert Muth, Saumya K. Debray