|
Abstract : |
Abstract. This paper presents a modular algorithm that e#ciently computes 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 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 e#ciency of the client. The paper also presents a set of empirical studies. The studies show that (1) the algorithm is e#cient; and (2) using parameterized pointer information may significantly improve the precision and e#ciency of program analyses. 1, |