This paper describes an empirical comparison of four contextinsensitive pointer alias analysis algorithms that use varying
degrees of flow-sensitivity: a flow-insensitive algorithm that tracks variables whose addresses were taken and stored; a flow-insensitive
algorithm that computes a solution for each function; a variant of this algorithm that uses precomputed kill information;
and a flow-sensitive algorithm. In addition to contrasting the precision and efficiency of these analyses, we describe implementation
techniques and quantify their analysis-time speed-up.
This work was supported in part by the National Science Foundation under grant CCR-9633010, by IBM Research, and by SUNY at
New Paltz Research and Creative Project Awards.