Compositional Static Callgraph Reachability Analysis for WhatsApp Android App Health
summary
Compositional static callgraph reachability, implemented as an Infer static analyzer checker with Java annotations and regex specs plus source/sync minimization, runs on WhatsApp Android to flag UI-to-expensive-call paths; periodic runs initially find ~12,000 issues which minimization cuts by an order of magnitude, CI runs take ~15 minutes for reachability, and three-month deployment prevents ≈100 regressions prevented, files ~60 tasks (7 pre-existing fixes) and yields measurable wins (0.5% fewer ANRs, 1.25% faster chat load).
AI-written summary · about
chapters (16)
- 0:00Call graph reachability analysis
- 1:50Control flow reachability matters
- 3:15Infer’s annotation reachability
- 5:24Annotation reachability in practice
- 8:09Trade-offs in flow sensitivity
- 9:12Extending reachability with regex
- 10:16WhatsApp Android properties
- 12:50Analysis in code review
- 15:22Continuous static analysis
- 17:29Production performance impact
- 19:34Fix rates and adoption
- 22:28Reachability at scale
- 23:10Key takeaways and future
- 23:32Q&A: Annotation effort
- 25:20Q&A: Kotlin conversion limits
- 27:27Q&A: Infer vs Zoncolan








