skip to main content
article
Free Access

Using static single assignment form to improve flow-insensitive pointer analysis

Authors Info & Claims
Published:01 May 1998Publication History
Skip Abstract Section

Abstract

A pointer-analysis algorithm can be either flow-sensitive or flow-insensitive. While flow-sensitive analysis usually provides more precise information, it is also usually considerably more costly in terms of time and space. The main contribution of this paper is the presentation of another option in the form of an algorithm that can be 'tuned' to provide a range of results that fall between the results of flow-insensitive and flow-sensitive analysis. The algorithm combines a flow-insensitive pointer analysis with static single assignment (SSA) form and uses an iterative process to obtain progressively better results.

References

  1. And94 L.O. Andersen. Program Analysis and Specialization for the C Programming Language. PhD thesis, DIKU, University of Copenhagen, May 1994. (DIKU report 94/19).Google ScholarGoogle Scholar
  2. BCCH94 M. Burke, P. Carini, J.D. Choi, and M. Hind. Flow-insensitive interprocedural alias analysis in the presence of pointers. In K. Pingali, U. Banerjee, D. Galernter, A. Nicolau, and D. Padua, editors, Languages and Compilers for Parallel Computing: Proceedings of the 7th International Workshop, volume 892 of Lecture Notes in Computer Science, pages 234-250, Ithaca, NY, August 1994. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. CC95 C. Click and K.D. Cooper. Combining analyses, combining optimizations. A CM Transactions on Programming Languages and Systems, 17(2):181-196, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. CFR+91 R. Cytron, J. Ferrante, B.K. Rosen, M.N. Wegman, and F.K. Zadeck. Efficiently computing static single assignment form and the control dependence graph. A CM Transactions on Programming Languages and Systems, 13(4):451- 490, October 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. CG93 R. Cytron and R. Gershbein. Efficient accommodation of may-alias information in SSA form. SIGPLAN Conference on Programming Language Design and Implementation, 28(6):36- 45, June 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Hor97 S. Horwitz. Precise flow-insensitive may-alias analysis is NP-hard. A CM Transactions on Programming Languages and Systems, 19(1):1-6, January 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. HP97 M. Hind and A. Pioli. An empirical comparison of interprocedural pointer alias analyses. IBM Research Report RC 21058, IBM Research Division, December 1997.Google ScholarGoogle Scholar
  8. Kil73 G.A. Kildall. A unified approach to global program optimization. In A CM Symposium on Principles of Programming Languages, pages 194-206, January 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. LH96 C. Lapkowski and L.J. Hendren. Extended SSA numbering: Introducing SSA properties to languages with multi-level pointers. ACAPS Technical Memo 102, School of Computer Science, McGill University, Montreal, Canada, April 1996.Google ScholarGoogle Scholar
  10. LR91 W. Landi and B.G. Ryder. Pointer induced aliasing: A problem classification. In ACM Symposium on Principles of Programming Languages, pages 93-103, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Mye81 E.W. Myers. A precise inter-procedural data flow algorithm. In A CM Symposium on Principles of Programming Languages, pages 219-230, 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. SG95 V.C. Sreedhar and G.R. Gao. A linear time algorithm for placing ~nodes. In ACM Symposium on Principles of Programming Languages, pages 62-73, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. SH97 M. Shapiro and S. Horwitz. Fast and accurate flow-insensitive points-to analysis. In A CM Symposium on Principles of Programming Languages, pages 1-14, january 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Ste96 B. Steensgaard. Points-to analysis in almost linear time. In A CM Symposium on Principles of Programming Languages, pages 32-41, January 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Using static single assignment form to improve flow-insensitive pointer analysis

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM SIGPLAN Notices
            ACM SIGPLAN Notices  Volume 33, Issue 5
            May 1998
            358 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/277652
            Issue’s Table of Contents
            • cover image ACM Conferences
              PLDI '98: Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
              May 1998
              357 pages
              ISBN:0897919874
              DOI:10.1145/277650

            Copyright © 1998 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 1 May 1998

            Check for updates

            Qualifiers

            • article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader