Summary: How is Aliasing Used in Systems Software?
Brian Hackett Alex Aiken
Computer Science Department
We present a study of all sources of aliasing in over one mil-
lion lines of C code, identifying in the process the common
patterns of aliasing that arise in practice. We find that alias-
ing has a great deal of structure in real programs and that
just nine programming idioms account for nearly all aliasing
in our study. Our study requires an automatic alias analysis
that both scales to large systems and has a low false positive
rate. To this end, we also present a new context-, flow-, and
partially path-sensitive alias analysis that, together with a
new technique for object naming, achieves a false aliasing
rate of 26.2% on our benchmarks.
Categories and Subject Descriptors
Software [Software Engineering]: Program Verification