Supercharging Infer: Enhancing Static Analysis with Dynamic Data at WhatsApp
summary
WhatsApp integrates Infer with FAUSTA-generated runs inside PrivacyCAT, extracts dbg call traces and converts them via a trace-to-model pipeline into Erlang input/output summaries that replace unanalyzable functions. An obstruction step collapses common atoms and list tails to keep models small. Results: providing dynamic summaries yields 2.1× more Infer summaries, a ~3–4% absolute increase in covered functions, and a reported 66% rise in detected bugs across CI runs.
AI-written summary · about
chapters (7)
- 0:00Infer at WhatsApp
- 2:54Data flow challenges and tools
- 8:25Erlang models for Infer
- 11:59Dynamic traces and static analysis
- 16:57Balancing dynamic data and coverage
- 18:27Experimental results
- 20:14Q&A
related talks
22mScaling Static Code Analysis Adoption at WhatsApp iOS
51mAnalysis of Real World Apps with Frida
48mAsk Me Anything with Peter O'Hearn
32mDon’t let it crash: How we applied our security checks on Elixir code
18mPreview: Verification (Correctness & Debugging)
57mVariant analysis
30mDoes your Android app expose you to excess risk?
18mSecuring Erlang and Elixir applications
