This paper describes techniques for dramatically improving the performance of flow-sensitive, context-insensitive pointer analysis. It is a combination of improved engineering, careful data structure decisions, and new algorithm optimizations. The algorithm is used to analyze 12 large C programs. Two of the programs -Ghostscript and GDB-require more resources than are available, but the other ten programs-including a version of GCC-are analyzed, showing improvements of two orders of magnitude over previous algorithms.
展开▼