Interprocedural may-alias analysis for pointers
- 1 June 1994
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 29 (6) , 230-241
- https://doi.org/10.1145/773473.178263
Abstract
Existing methods for alias analysis of recursive pointer data structures are based on two approximation techniques: k-limiting, and store-based (or equivalently location or region-based) approximations, which blur distinction between elements of recursive data structures. Although notable progress in inter-procedural alias analysis has been recently accomplished, very little progress in the precision of analysis of recursive pointer data structures has been seen since the inception of these approximation techniques by Jones and Muchnick a decade ago. As a result, optimizing, verifying and parallelizing programs with pointers has remained difficult.We present a new parametric framework for analyzing recursive pointer data structures which can express a new natural class of alias information not accessible to existing methods. The key idea is to represent alias information by pairs of symbolic access paths which are qualified by symbolic descriptions of the positions for which the alias pair holds.Based on this result, we present an algorithm for interprocedural may-alias analysis with pointers which on numerous examples that occur in practice is much more precise than recently published algorithms [CWZ90, He90, LR92, CBC93].Keywords
This publication has 36 references indexed in Scilit:
- A logic-based approach to data flow analysis problemsPublished by Springer Nature ,2005
- Pointer-induced aliasingACM SIGPLAN Notices, 1993
- Instruction-level parallel processing: History, overview, and perspectiveThe Journal of Supercomputing, 1993
- Abstractions for recursive pointer data structuresACM SIGPLAN Notices, 1992
- A safe approximate algorithm for interprocedural aliasingACM SIGPLAN Notices, 1992
- Parallelizing programs with recursive data structuresIEEE Transactions on Parallel and Distributed Systems, 1990
- A technique for summarizing data access and its use in parallelism enhancing transformationsACM SIGPLAN Notices, 1989
- Dependence analysis for pointer variablesACM SIGPLAN Notices, 1989
- Static analysis of arithmetical congruencesInternational Journal of Computer Mathematics, 1989
- Static determination of dynamic properties of generalized type unionsACM SIGPLAN Notices, 1977