Flow-Insensitive Interprocedural Alias Analysis in the Presence of Pointers

Abstract

Data-ow analysis algorithms can be classiied into two categories: ow-sensitive and ow-insensitive. To improve eeciency, ow-insensitive interprocedural analyses do not make use of the intrapro-cedural control ow information associated with individual procedures. Since pointer-induced aliases can change within a procedure, applying known ow-insensitive analyses can result in either incorrect or overly conservative solutions. In this paper, we present a ow-insensitive data-ow analysis algorithm that computes interprocedural pointer-induced aliases. We improve the precision of our analysis by (1) making use of certain types of kill information that can be precomputed eeciently, and (2) computing aliases generated in each procedure instead of holding at the exit of each procedure. We improve the eeciency of our algorithm by introducing a technique called deferred evaluation. Interprocedural analyses, including alias analysis, rely upon the program call graph (P C G) for their correctness and precision. The P C G becomes incomplete or overly imprecise in the presence of function pointers. This paper also describes a method for constructing the P C G in the presence of function pointers.

DOI: 10.1007/BFb0025882

Extracted Key Phrases

Statistics

0510'96'98'00'02'04'06'08'10'12'14'16
Citations per Year

99 Citations

Semantic Scholar estimates that this publication has 99 citations based on the available data.

See our FAQ for additional information.

Cite this paper

@inproceedings{Burke1994FlowInsensitiveIA, title={Flow-Insensitive Interprocedural Alias Analysis in the Presence of Pointers}, author={Michael G. Burke and Paul R. Carini and Jong-Deok Choi and Michael Hind}, booktitle={LCPC}, year={1994} }