Data-driven program analysis
summary
A data-driven static-analysis pipeline is presented that learns program abstractions (which variables get flow sensitivity, which functions get k‑CFA) by treating the analyzer as a black box and optimizing heuristics over training programs. A linear scorer on syntactic features reaches about 70% of full flow‑sensitive precision while doubling time versus flow‑insensitive analysis (full flow sensitivity costs ~18×). A later disjunctive boolean heuristics model attains full k‑CFA precision for Java pointer analysis at cost close to context‑insensitive. Experiments use Sparrow/interval domains and k‑CFA; features start manual but can be auto‑generated.
AI-written summary · about
chapters (10)
- 0:00Introduction to speaker
- 1:20Data-driven static analysis
- 2:15Flow-sensitive analysis
- 6:24The abstraction problem
- 7:25Context-sensitive analysis
- 11:59Methodology overview
- 13:56Linear model approach
- 24:12Disjunctive model approach
- 38:43Summary and future work
- 40:11Q&A session
related talks
15mStatically Analyzing the Dataflow of R Programs
30mTowards a High Level Linter for Data Science
39mSoftware Analytics with Data Science on Software Data
44mAutomating Analysis
30mMarking Sense of Hierarchical Log Data
29m🧠🧹 Causality - Mental Hygiene for Data Science
23mSecurity Outgunned: Measuring Software Defined Attack Surface
35mTowards Interpretable Data Science
