se a new abstraction for pointer analysis that represents reads and writes to memory instead of traditional points-to relations. Compared to points-to graphs, our Assign-Fetch Graph (AFG) leads to concise procedure summaries that can be used in any calling context. Also, its flexibility supports new analysis techniques with different trade-offs between speed and precision. For efficiency, we build a summary for each procedure that assumes distinct pointers from the environment are not aliased and restore soundness when the summary is used in a context with aliases. We present two pointer analysis techniques based on our AFG. The first takes the flow-insensitive view adopted by many authors; the second considers statement ordering. In addition to being more precise, we find that this "flow-aware" analysis runs faster. We conclude with experimental results showing it is practical. Categories and Subject Descriptors F.3.1 [Logics and Meanings of Programs]: Specifying and Verify...
Marcio Buss, Daniel Brand, Vugranam C. Sreedhar, S