An incremental points-to analysis with CFL-Reachability

  • Authors:
  • Yi Lu;Lei Shang;Xinwei Xie;Jingling Xue

  • Affiliations:
  • Programming Languages and Compilers Group, School of Computer Science and Engineering, University of New South Wales, Sydney, NSW, Australia;Programming Languages and Compilers Group, School of Computer Science and Engineering, University of New South Wales, Sydney, NSW, Australia;Programming Languages and Compilers Group, School of Computer Science and Engineering, University of New South Wales, Sydney, NSW, Australia, School of Computer Science, National University of Def ...;Programming Languages and Compilers Group, School of Computer Science and Engineering, University of New South Wales, Sydney, NSW, Australia

  • Venue:
  • CC'13 Proceedings of the 22nd international conference on Compiler Construction
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Developing scalable and precise points-to analyses is increasingly important for analysing and optimising object-oriented programs where pointers are used pervasively. An incremental analysis for a program updates the existing analysis information after program changes to avoid reanalysing it from scratch. This can be efficiently deployed in software development environments where code changes are often small and frequent. This paper presents an incremental approach for demand-driven context-sensitive points-to analyses based on Context-Free Language (CFL) reachability. By tracing the CFL-reachable paths traversed in computing points-to sets, we can precisely identify and recompute on demand only the points-to sets affected by the program changes made. Combined with a flexible policy for controlling the granularity of traces, our analysis achieves significant speedups with little space overhead over reanalysis from scratch when evaluated with a null dereferencing client using 14 Java benchmarks.