The main loop of modular points-to analysis typically consists of two major phases. The first, a bottom-up process, transforms each procedure into a self-contained module that encapsulates all the internal dataflow along with side effects from procedure calls. The second, a top-down process, pro-
vides the input points-to information to each procedure and computes the actual points-to information.
We propose an ultimately precise (with respect to context-sensitivity), yet very efficient holistic top-down process that produces points-to information valid across all call paths. When combined with our previously proposed, efficient and exact bottom-up process [22], the resultant modular points-to
analysis is equivalent to that of a context-sensitive algorithm entirely reliant on exhaustive inlining. The scalability and usefulness of the proposed approach is demonstrated by em-pirical results.