Daniel Brand, Pitro Zafiropulo
Journal of the ACM
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. Copyright 2008 ACM.
Daniel Brand, Pitro Zafiropulo
Journal of the ACM
Daniel Brand, Reinaldo A. Bergamaschi, et al.
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Daniel Brand
ACM SIGPLAN Notices
Daniel Brand, William H. Joyner
IEEE Transactions on Communications