Analysing and Understanding Erlang Programmatically
summary
WhatsApp runs Erlang at scale for roughly 2 billion daily users with about one million users per developer, so code analysis targets compiled BEAM files with debug_info and the abstract_code chunk rather than raw source. The team combines static tools—Dialyzer, xref, Equalizer—and a dynamic taint analysis (recently open sourced) to inspect diffs, guide test selection for ~300 commits/day, and perform incremental analyses; the approach reduces test/runtime waste and surfaces semantic changes reliably.
AI-written summary · about
chapters (7)
- 0:00Introduction and context
- 6:12Why analyze code
- 11:16What to analyze
- 15:15When to analyze code
- 20:02Challenges in source analysis
- 25:23Analyzing compiled code
- 33:04Final thoughts and benefits
related talks
27mTyping Erlang with eqWAlizer
29mTowards Exact Semantic Equivalence of Erlang BEAM Constructs: Lessons from Advanced(…)
40mTypes and Erlang from Dialyzer to (...)
46mBuild Your Own Elixir
37mLet there be light: from nothing to a running application
39mFireside chat on JIT compiler
21mPapers We Love - Elixir Edition
30mExploring Elixir Project Re compilation
