Efficient Computation of Parameterized Pointer Information for Interprocedural Analyses


This paper presents a modular algorithm that efficiently computes {em parameterized} pointer information, in which symbolic names are introduced to identify memory locations whose addresses may be passed into a procedure. Parameterized pointer information can be used by a client program analysis to compute parameterized summary information for a procedure. The client can then instantiate such information at each specific callsite by binding the symbolic names. Compared to {em non-parameterized} pointer information, in which memory locations are identified using the same name throughout a program, parameterized pointer information lets the client reduce the spurious information that is propagated across procedure boundaries. Such reduction will improve not only the precision, but also the efficiency of the client. The paper also presents a set of empirical studies. The studies show that the algorithm is efficient. The studies also show that using parameterized pointer information may significantly improve the precision and the efficiency of many program analyses.

Related research categories:
(1) Program Analysis
(2) Data Flow
(3) Empirical Studies
(4) Pointer Analysis
(5) Slicing

Go To Publications