Object-sensitivity has emerged as an excellent context abstraction for
points-to analysis in object-oriented languages. Despite its practical success,
however, object-sensitivity is poorly understood.
Yannis Smaragdakis, Martin Bravenboer, Ondrej Lhotak. 2011.
In Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of
programming languages (POPL ‘11).
Object-sensitivity has emerged as an excellent context abstraction for points-to
analysis in object-oriented languages. Despite its practical success, however,
object-sensitivity is poorly understood. For instance, for a context depth of 2
or higher, past scalable implementations deviate significantly from the original
definition of an object-sensitive analysis. The reason is that the analysis has
many degrees of freedom, relating to which context elements are picked at every
method call and object creation. We offer a clean model for the analysis design
space, and discuss a formal and informal understanding of object-sensitivity and
of how to create good object-sensitive analyses. The results are surprising in
their extent.
Read the PDF:
Pick Your Contexts Well: Understanding Object-Sensitivity