Abstract
Determining aliases is one of the foundamental static analysis problems, in part because the precision with which this problem is solved can affect the precision of other analyses such as live variables, available expressions, and constant propagation. Previous work has investigated the complexity of flow-sensitive alias analysis. In this article we show that precise flow-insensitive may-alias analysis is NP-hard given arbitrary levels of pointers and arbitrary pointer dereferencing.
- ANDERSEN, L. O. 1994. Program analysis and specialization for the C programming language. Ph.D. thesis, DIKU Rep. 94/19, DIKU, Univ. of Copenhagen, Denmark.Google Scholar
- BURKE, M., CARINI, P., CHOI, J., AND HIND, M. 1994. Flow-insensitive interprocedural alias analysis in the presence of pointers. In Languages and Compilers for Parallel Computing: Proceedings of the 7th International Workshop, K. Pingali, U. Banerjee, D. Galernter, A. Nicolau, and D. Padua, Eds. Lecture Notes in Computer Science, vol. 892. Springer-Verlag, Berlin, 234-250. Google Scholar
- GAREY, M. AND JOHNSON, D. 1979. Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman. Google Scholar
- LANDI, W. 1992. Undecidability of static analysis. ACM Lett. Program. Lang. Syst. 1, 4, 323-337. Google Scholar
- LANDI, W. AND RYDER, B. 1991. Pointer induced aliasing: A problem classification. In the ACM Symposium on Principles of Programming Languages. ACM, New York, 93-103. Google Scholar
- RAMALINGAM, G. 1994. The undecidability of aliasing. ACM Trans. Program. Lang. Syst. 16, 5, 1467-1471. Google Scholar
- STEENSGAARD, B. 1996. Points-to analysis in almost linear time. In the ACM Symposium on Principles of Programming Languages. ACM, New York, 32-41. Google Scholar
Index Terms
- Precise flow-insensitive may-alias analysis is NP-hard
Recommendations
Demand-driven alias analysis for C
POPL '08This paper presents a demand-driven, flow-insensitive analysisalgorithm for answering may-alias queries. We formulate thecomputation of alias queries as a CFL-reachability problem, and use this formulation to derive a demand-driven analysis algorithm. ...
Demand-driven alias analysis for C
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesThis paper presents a demand-driven, flow-insensitive analysisalgorithm for answering may-alias queries. We formulate thecomputation of alias queries as a CFL-reachability problem, and use this formulation to derive a demand-driven analysis algorithm. ...
Semi-sparse flow-sensitive pointer analysis
POPL '09Pointer analysis is a prerequisite for many program analyses, and the effectiveness of these analyses depends on the precision of the pointer information they receive. Two major axes of pointer analysis precision are flow-sensitivity and context-...
Comments