skip to main content
10.1145/568173.568178acmconferencesArticle/Chapter ViewAbstractPublication PagespepmConference Proceedingsconference-collections
Article

Aliasing analysis for a million lines of C

Published:12 September 2002Publication History

ABSTRACT

We will describe the design and implementation of a fast points-to analysis system. On some industrial code bases (about a million lines of unpreprocessed C code) this system performs context-insensitive field-based Andersen-style points-to analysis in less than a second and uses less than 10MB of memory. The two main contributions of the work are a database-centric analysis architecture called compile-link-analyze (CLA), and a new graph-based algorithm for implementing a form of dynamic transitive closure. An open source release of our system should be available soon.

References

  1. L. Andersen, "Program Analysis and Specialization for the C Programming Language", PhD. thesis, DIKU report 94/19, 1994.Google ScholarGoogle Scholar
  2. S. Chandra and T. Reps, "Physical Type Checking for C" PASTE, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Das, "Unification-Based Pointer Analysis with Directional Assignments" PLDI, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. Foster, M. Fähndrich and A. Aiken, "Flow-Insensitive Points-to Analysis with Term and Set Constraints" U. of California, Berkeley, UCB CSD97964, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Fähndrich, J. Foster, Z. Su and A. Aiken, "Partial Online Cycle Elimination in Inclusion Constraint Graphs" PLDI, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. N. Heintze, "Analysis of Large Code Bases: The Compile-Link-Analyze Model" unpublished report, November 1999.Google ScholarGoogle Scholar
  7. N. Heintze and O. Tardieu, "Ultra-fast Aliasing Analysis using CLA: A Million Lines of C Code in a Second" PLDI 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. "Programming Languages - C", ISO/IEC 9899:1990, International Standard, 1990.Google ScholarGoogle Scholar
  9. A. Rountev and S. Chandra, "Off-line Variable Substitution for Scaling Points-to Analysis", PLDI, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Shapiro and S. Horwitz, "Fast and Accurate Flow-Insensitive Points-To Analysis", POPL, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Z. Su, M. Fähndrich, and A. Aiken, "Projection Merging: Reducing Redundancies in Inclusion Constraint Graphs", POPL, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. B. Steensgaard, "Points-to Analysis in Almost Linear Time", POPL, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Aliasing analysis for a million lines of C

    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
    • Published in

      cover image ACM Conferences
      ASIA-PEPM '02: Proceedings of the ASIAN symposium on Partial evaluation and semantics-based program manipulation
      September 2002
      152 pages
      ISBN:1581134584
      DOI:10.1145/568173

      Copyright © 2002 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: 12 September 2002

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      ASIA-PEPM '02 Paper Acceptance Rate11of21submissions,52%Overall Acceptance Rate11of21submissions,52%
    • Article Metrics

      • Downloads (Last 12 months)2
      • Downloads (Last 6 weeks)0

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader