| S. Zhang and B. Ryder, \Complexity of single level function pointer aliasing analysis", Technical Report LCSR-TR-233, Laboratory of Computer Science Research, Rutgers University, October 1994. 20 |
....purpose of function pointers, therefore, is to a ect control ow. The corresponding analysis problem is therefore a control ow analysis problem. The following result, whose proof follows the lines of those for Theorem 3.9 and Corollary 4. 5, improves on an NP hardness result by Zhang and Ryder [17]: Theorem 4.9 Precise control ow analysis in the presence of function pointers is PSPACE complete for non recursive programs and EXPTIME complete for arbitrary programs. 5 Summary and Related Work The contributions of this paper can be summarized as follows: 1. New Results : To the best of ....
S. Zhang and B. Ryder, \Complexity of single level function pointer aliasing analysis", Technical Report LCSR-TR-233, Laboratory of Computer Science Research, Rutgers University, October 1994. 20
....but they also make it either impossible or prohibitively expensive to generate accurate relational information about a program. For example, Scan Zhang and Barbara Ryder have proved that computing C call graphs in the presence of aliasing and single level global function pointers is NP Hard[ZR94] Gail Murphy, David Notkin, and Erica Lan[MNL96] performed an empirical study comparing C call graphs generated from the same programs by five ubiquitous tools: cflow, CIA[CNR90] Field[Rei90] mkfunctmap, and rigiparse[MK89] Some of their findings were that each of these tools reports ....
Scan Zhang and Barbara G. Ryder. Complexity Of Single Level Function Pointer Aliasing Analysis. Technical Report LCSR-TR-233, Department of Computer Science, Rutgers University, July 1994.
....studies the general problem for a language where procedures may be assigned to variables, invoked through variables, and returned as results [Lak93] Lakhotia gives a polynomial time algorithm whose efficiency gains come at the cost of considerable imprecision in the analysis. Zhang and Ryder [ZR94] examine the complexity of interprocedural function pointer may alias analysis for the programming language C. They are the first to define, in a precise way, what it means for such an analysis to be precise, 1 and consider the complexity of the problem with respect to the presence or absence of ....
.... point, an analysis must consider statically executable paths from the entry point of the program upto that point: roughly speaking, these are paths that can actually be taken during execution, modulo the assumption (standard in dataflow analysis) that both branches of a conditional can be taken [ZR94]. More formally, these paths can be defined as follows: Definition 2.1 [Statically executable path] A path starting at the root 2 of the interprocedural control flow graph is statically executable if it satisfies the following two conditions: 1. The path has a proper subpath containing all the ....
[Article contains additional citation context not shown here]
Sean Zhang and Barbara G. Ryder. Complexity of single level function pointer aliasing analysis. Technical Report LCSR-TR-233, Laboratory of Computer Science Research, Rutgers University, October 1994.
....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. 1 Introduction To interprocedurally analyze programs, the analyzer must be able to statically construct a call multigraph ....
....operator. C allows very general function pointer usage; a C program can contain function pointers as formals, globals or local variables, arrays of function pointers, pointers to function pointers, functions that return function pointers and function pointers as fields of structs and unions. In [ZR94] we showed that the problem of statically determining the functions that may be aliased to a function pointer at a call site is often provably NP Gamma hard except in special cases. Program transformation systems make safe assumptions about the possible functions that might be called at an ....
[Article contains additional citation context not shown here]
Sean Zhang and Barbara G. Ryder. Complexity of single level function pointer aliasing analysis. Technical Report LCSR-TR-233, Laboratory for Computer Science Research, Rutgers University, October 1994.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC