Precise and Scalable Points-to Analysis via Data-Driven Context Tunneling
summary
Presents a concrete method called context tunneling that selectively preserves “important” context elements instead of the most-recent k, implemented in the Doop framework and learned automatically from code with a custom search over 23 syntactic features. Evaluation across four flavors (call-site, object, type, hybrid) shows 1-context outperforms k=2 in both precision and runtime on benchmark suites, and the learning algorithm handles the non‑monotonic precision landscape by alternating exploration and exploitation. The paper ships a working implementation, training protocol, and measurements that report sizable precision and scalability gains.
AI-written summary · about
chapters (20)
- 0:00Start
- 0:36Static Analysis Needs Context Abstraction
- 1:08Conventional Abstraction: Keep Most Recent K Contexts
- 1:47Example
- 3:371-CFA with Context Tunneling
- 5:20Challenge: When to apply
- 6:25Data-Driven Context Tunneling
- 6:56Performance Highlight
- 7:43Parametric Static Analyzer
- 8:30Parametric Tunneling Heuristic
- 9:04(1) Represent Method as Features
- 9:42(2) Generate Tunneling Abstraction
- 10:02Context Tunneling: Selectively Update Contexts
- 10:24Learning Problem
- 10:47Challenge: Non-monotonicity
- 11:40Specialized Learning Algorithm
- 13:12Effectiveness
- 13:52Learned Heuristic
- 14:41Conclusion
- 15:39Method Features
