Learn More
During execution, when two or more names exist for the same location at some program point, we call them <italic>aliases</italic>. In a language which allows arbitrary pointers, the problem of determining aliases at a program point is &rgr;-space-hard [Lan92]. We present an algorithm for the Conditional May Alias problem, which can be used to safely(More)
Static analysis of programs is indispensable to any software tool, environment, or system that requires compile-time information about the semantics of programs. With the emergence of languages like C and LISP, static analysis of programs with dynamic storage and recursive data structures has become a field of active research. Such analysis is difficult,(More)
We present a new interprocedural modication side eects algorithm for C programs, that can discern side eects through general-purpose pointer usage. Ours is the rst complete design and implementation of such an algorithm. Preliminary performance ndings support the practicality of the technique, which is based on our previous approximation algorithm for(More)
Traditional interprocedural data-flow analysis is performed on whole programs; however, such <italic>whole-program analysis</italic> is not feasible for large or incomplete programs. We propose <italic>fragment data-flow analysis</italic> as an alternative approach which computes data-flow information for a specific program fragment. The analysis is(More)
We present the first high-precision algorithm for obtaining DefUse Associations in C programs with single level pointers. While the precise solution of the problem is lVP-hani, our polynomial-time algorithm uses program-point-specific pointer-induced aliases to obtain good approximations to the set of definitions reaching a program point. This information(More)
Concrete type-inference for statically typed object-oriented programming languages (e.g., Java, C ++) determines at each program point, those objects to which a reference may refer or a pointer may point during execution. A precise compile-time solution for this problem requires a ow-sensitive analysis. Our new complexity results for concrete type-inference(More)