Flexible Pointer Analysis Using Assign-Fetch Graphs

Buss, Marcio; Edwards, Stephen A.; Brand, Daniel; Sreedhar, Vugranam

We propose 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.


Also Published In

Proceedings of the 23rd Annual ACM Symposium on Applied Computing 2008, Fortaleza, CearĂ¡, Brazil, March 16-20, 2008

More About This Work

Academic Units
Computer Science
Published Here
March 7, 2012