The DOI matches its Crossref record; 16 of the 16 references it cites were found in a registry or an index.
Is it a tree, a DAG, or a cyclic graph? A shape analysis for heap-directed pointers in C
Abstract
This paper reports on the design and implementation of a practical shape analysis for C. The purpose of the analysis is to aid in the disambiguation of heap-allocated data structures by estimating the shape (Tree, DAG, or Cyclic Graph) of the data structure accessible from each heap-directed pointer. This shape information can be used to improve dependence testing and in parallelization, and to guide the choice of more complex heap analyses.The method has been implemented as a context-sensitive interprocedural analysis in the McCAT conlpiler. Experimental results and observations are given for 16 benchmark programs. These results show that the analysis gives accurate and useful results for an important group of applications.
Overview
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Citations
Cites
Points-to analysis in almost linear time
Steensgaard, B. (1996) · Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '96 · doi:10.1145/237721.237727 · Cited by 1,088
Context-sensitive interprocedural points-to analysis in the presence of function pointers
Emami, M., Ghiya, R., & Hendren, L. J. (1994) · Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation · doi:10.1145/178243.178264 · Cited by 570
Self-citationEfficient context-sensitive pointer analysis for C programs
Wilson, R. P., & Lam, M. S. (1995) · ACM SIGPLAN Notices · doi:10.1145/223428.207111 · Cited by 539
Analysis of pointers and structures
Chase, D., Wegman, M., & Zadeck, F. K. (2004) · ACM SIGPLAN Notices · doi:10.1145/989393.989429 · Cited by 433
Efficient flow-sensitive interprocedural computation of pointer-induced aliases and side effects
Choi, J.-D., Burke, M., & Carini, P. R. (1993) · ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL) · doi:10.1145/158511.158639 · Cited by 362
Program Flow Analysis: Theory and Application
Muchnick, S. S., & Jones, N. D. (1981) · Medical Entomology and Zoology · Cited by 361
Interprocedural may-alias analysis for pointers: beyond k -limiting
Deutsch, A. (1994) · Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation · doi:10.1145/178243.178263 · Cited by 328
A safe approximate algorithm for interprocedural pointer aliasing
Landi, W. A., & Ryder, B. G. (2004) · ACM SIGPLAN Notices · doi:10.1145/989393.989440 · Cited by 276
Dependence analysis for pointer variables
Horwitz, S., Pfeiffer, P., & Reps, T. (1989) · ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) · doi:10.1145/73141.74821 · Cited by 233
Parallelizing programs with recursive data structures
Hendren, L. J., & Nicolau, A. (1990) · IEEE Transactions on Parallel and Distributed Systems · doi:10.1109/71.80123 · Cited by 219
Self-citation
Cited by
Dynamically discovering likely program invariants to support program evolution
Ernst, M. D., Cockrell, J., Griswold, W. G., & Notkin, D. (2001) · IEEE Transactions on Software Engineering · doi:10.1109/32.908957 · Cited by 1,050
Optimistic parallelism requires abstractions
Kulkarni, M., Pingali, K., Walter, B., Ramanarayanan, G., Bala, K., & Chew, L. P. (2007) · Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation · doi:10.1145/1250734.1250759 · Cited by 441
Automatic parallelization of divide and conquer algorithms
Rugina, R., & Rinard, M. (1999) · Proceedings of the seventh ACM SIGPLAN symposium on Principles and practice of parallel programming · doi:10.1145/301104.301111 · Cited by 103
Metadata
- Authors
- Ghiya, R., & Hendren, L. J.
- Venue
- Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '96
- Publisher
- ACM Press
- Published
- 1996
- Pages
- 1-15
- OpenAlex
- W2139356751
- Cited by
- 287
- References
- 16
- FWCI
- 16.48
- Type
- conference paper
- Language
- en
- Open access
- closed
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review
How to cite
Cite CoChat for the checks on this page, and the paper for its own findings.
- This page
- CoChat. (2026). Citation check: Is it a tree, a DAG, or a cyclic graph? A shape analysis for heap-directed pointers in C. https://app.cochat.ai/papers/10.1145/237721.237724
- The paper
- Ghiya, R., & Hendren, L. J. (1996). Is it a tree, a DAG, or a cyclic graph? A shape analysis for heap-directed pointers in C. Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '96. https://doi.org/10.1145/237721.237724
Data sources
Bibliographic data: Semantic Scholar, OpenAlex, Crossref.
Contains information from the Semantic Scholar Academic Graph Datasets, made available under the ODC Attribution License (ODC-BY 1.0).
Semantic Scholar’s data is described in: Kinney, R., et al. (2023). The Semantic Scholar Open Data Platform. arXiv:2301.10140.