How is aliasing used in systems software?
- 5 November 2006
- proceedings article
- Published by Association for Computing Machinery (ACM)
Abstract
We present a study of all sources of aliasing in over one million lines of C code, identifying in the process the common patterns of aliasing that arise in practice. We find that aliasing 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.Keywords
This publication has 29 references indexed in Scilit:
- JeddPublished by Association for Computing Machinery (ACM) ,2004
- Cloning-based context-sensitive pointer alias analysis using binary decision diagramsPublished by Association for Computing Machinery (ACM) ,2004
- Checking and inferring local non-aliasingPublished by Association for Computing Machinery (ACM) ,2003
- Points-to analysis using BDDsPublished by Association for Computing Machinery (ACM) ,2003
- Evaluating the precision of static reference analysis using profilingACM SIGSOFT Software Engineering Notes, 2002
- Alias annotations for program understandingPublished by Association for Computing Machinery (ACM) ,2002
- Efficient Computation of Parameterized Pointer Information for Interprocedural AnalysesPublished by Springer Nature ,2001
- Alias burying: Unique variables without destructive readsSoftware: Practice and Experience, 2001
- Which pointer analysis should I use?Published by Association for Computing Machinery (ACM) ,2000
- Context-sensitive interprocedural points-to analysis in the presence of function pointersPublished by Association for Computing Machinery (ACM) ,1994