Hybrid context-sensitivity for points-to analysis

George Kastrinis, Yannis Smaragdakis
2013 SIGPLAN notices  
Context-sensitive points-to analysis is valuable for achieving high precision with good performance. The standard flavors of contextsensitivity are call-site-sensitivity (kCFA) and object-sensitivity. Combining both flavors of context-sensitivity increases precision but at an infeasibly high cost. We show that a selective combination of call-site-and object-sensitivity for Java points-to analysis is highly profitable. Namely, by keeping a combined context only when analyzing selected language
more » ... atures, we can closely approximate the precision of an analysis that keeps both contexts at all times. In terms of speed, the selective combination of both kinds of context not only vastly outperforms non-selective combinations but is also faster than a mere object-sensitive analysis. This result holds for a large array of analyses (e.g., 1-object-sensitive, 2-object-sensitive with a context-sensitive heap, type-sensitive) establishing a new set of performance/precision sweet spots.
doi:10.1145/2499370.2462191 fatcat:dgxc2apntzgtxf7vz47y3hojly