A New Abstraction for Summary-Based Pointer Analysis

We propose a new abstraction for pointer analysis based on the principle of matching pointer dereferences or "memory fetches" with pointer assignments. Our abstraction, the Assign-Fetch Graph (AFG), has several advantages over traditional points-to graphs. It leads to concise procedure summaries for pointer analysis and similar computations; each procedure's summary information can be used effectively in arbitrary calling contexts. Different analysis variations can be formulated on the AFG - we present two possible variations. One is based on a standard flow-insensitive view of the program; the other takes some statement ordering into account and produces results that are both more precise and more quickly computed. Our abstraction also facilitates incremental summary-based pointer analysis, which is not generally possible with conventional points-to graphs.

We show how the AFG simplifies certain steps in updating pointer graphs and computing procedure summaries. For efficiency and compactness, we build a single summary for each procedure under the optimistic assumption that distinct pointers from the environment are not aliased. We restore soundness when the summary is used in a context with aliases. We present some results of the practical impact of our technique.

By: Marcio Buss; Daniel Brand; Vugranam Sreedhar; Stephen A. Edwards

Published in: RC24104 in 2007


This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.


Questions about this service can be mailed to reports@us.ibm.com .