Intraprocedural Pointer Analysis for Container-Centric Applications

As programmers look forward to designing high performance applications with object-oriented models, compilers must support higher-level analyses and optimizations. Pointer analysis for container-centric applications is one of these: it exploits abstract semantics of container structures (e.g., lists, trees, associative maps) provided by standard libraries and toolkits. Extending shape analysis work by Sagiv, Reps and Wilhelm, we capture aliasing properties through dedicated points-to graphs. Formalizati- on in abstract interpretation allowed us to prove the abstraction's and transfer functions' safety. We ran the analysis on small examples. It achieved precise memory disambiguations useful to parallelization and optimization.