Abstract
Interprocedural analysis requires a statically determinable call multigraph to represent the program. Programs that use function pointers or function-valued variables present a difficult problem for static analysis. In C, function pointers can be formal parameters, actual arguments to functions, or global/local variables. The difficulty of precisely determining the call multigraph of a program { or statically determining the aliases of a function pointer at a call site { depends on the types of function pointers used (i.e., local or global) [ZR94]. In this study, we have statically gathered empirical information on C function pointer usage to better predict appropriate interprocedural analyses required for C programs.