Detecting conflicts between structure accesses
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Dependence analysis for pointer variables
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
A general data dependence test for dynamic, pointer-based data structures
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Efficient context-sensitive pointer analysis for C programs
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
ANTLR: a predicated-LL(k) parser generator
Software—Practice & Experience
Fast and accurate flow-insensitive points-to analysis
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Putting pointer analysis to work
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Parallelizing Programs with Recursive Data Structures
IEEE Transactions on Parallel and Distributed Systems
Detecting Parallelism in C Programs with Recursive Darta Structures
CC '98 Proceedings of the 7th International Conference on Compiler Construction
Identifying parallelism in programs with cyclic graphs
Journal of Parallel and Distributed Computing
Identifying Parallelism in Programs with Cyclic Graphs
ICPP '00 Proceedings of the Proceedings of the 2000 International Conference on Parallel Processing
A Framework to Capture Dynamic Data Structures in Pointer-Based Codes
IEEE Transactions on Parallel and Distributed Systems
Detecting loop-carried dependences in programs with dynamic data structures
Journal of Parallel and Distributed Computing
A data dependence test based on the projection of paths over shape graphs
Journal of Parallel and Distributed Computing
Hi-index | 0.00 |
The approach presented in this paper focus on detecting data dependences induced by heap-directed pointers on loops that access dynamic data structures. Knowledge about the shape of the data structure accessible from a heap-directed pointer, provides critical information for disambiguating heap accesses originating from it. Our approach is based on a previously developed shape analysis that maintains topological information of the connections among the different nodes (memory locations) in the data structure. Basically, the novelty is that our approach carries out abstract interpretation of the statements being analyzed, and let us annotate the memory locations reached by each statement with read/write information. This information will be later used in order to find dependences in a very accurate dependence test which we introduce in this paper.