Getafix: How Facebook tools learn to fix bugs automatically
Nov 6, 2018Satish Chandra, Johannes Bader, Eric Lippert, Andrew Scott

Summary
Introduced Getafix, a novel tool that automatically finds and suggests fixes for bugs identified by static analysis (Infer) and automated testing (Sapienz). Getafix leverages hierarchical clustering and anti-unification to learn fix patterns from past code changes, considering both the edit and its surrounding context. It employs a tree differencer to identify granular edits and a pattern mining process that generates abstract fix patterns with 'holes' for context-specific instantiation. This enables more intelligent and context-aware bug remediation than simpler auto-fix tools.
More from the Site Reliability and Outage Management trail
- Lights Out, Systems On: Validating Instant Power Loss Readiness
- DrP: Meta’s Root Cause Analysis Platform at Scale
- Zoomer: Powering AI Performance at Meta’s Scale Through Intelligent Debugging and Optimization
- Diff Risk Score: AI-driven risk-aware software development
- How Meta keeps its AI hardware reliable