mlsanityData to 7 Oct 2026

Getafix: Learning to Fix Bugs Automatically

arXiv 1902.06111 ↗First posted 16 Feb 2019cs.SEcited by 40

Not on the map. Why?

Abstract (arXiv)

Static analyzers help find bugs early by warning about recurring bug categories. While fixing these bugs still remains a mostly manual task in practice, we observe that fixes for a specific bug category often are repetitive. This paper addresses the problem of automatically fixing instances of common bugs by learning from past fixes. We present Getafix, an approach that produces human-like fixes while being fast enough to suggest fixes in time proportional to the amount of time needed to obtain static analysis results in the first place. Getafix is based on a novel hierarchical clustering algorithm that summarizes fix patterns into a hierarchy ranging from general to specific patterns. Instead of a computationally expensive exploration of a potentially large space of candidate fixes, Getafix uses a simple yet effective ranking technique that uses the context of a code change to select the most appropriate fix for a given bug. Our evaluation applies Getafix to 1,268 bug fixes for six bug categories reported by popular static analyzers for Java, including null dereferences, incorrect API calls, and misuses of particular language constructs. The approach predicts exactly the human-written fix as the top-most suggestion between 12% and 91% of the time, depending on the bug category. The top-5 suggestions contain fixes for 526 of the 1,268 bugs. Moreover, we report on deploying the approach within Facebook, where it contributes to the reliability of software used by billions of people. To the best of our knowledge, Getafix is the first industrially-deployed automated bug-fixing tool that learns fix patterns from past, human-written fixes to produce human-like fixes.

Key facts. Cited by 40 papers in the map (data through 7 Oct 2026). First posted on arXiv 16 Feb 2019.

Builds on

No reference list yet.

Built on by

Cited by year (2026 to 7 Oct)

Citing papers per year: 2021: 5; 2022: 8; 2023: 7; 2024: 8; 2025: 5; 2026: 7.

40 papers.

Sort:

By area:

  1. 2024AutoCodeRover: Autonomous Program Improvementcited by 272
  2. 2024When Can LLMs Actually Correct Their Own Mistakes? A Critical Survey of Self-Correction of LLMscited by 230
  3. 2024RepairAgent: An Autonomous, LLM-Based Agent for Program Repaircited by 225
  4. 2023Is Self-Repair a Silver Bullet for Code Generation?cited by 191
  5. 2021Break-It-Fix-It: Unsupervised Learning for Program Repaircited by 71
  6. 2021A Syntax-Guided Edit Decoder for Neural Program Repaircited by 57
  7. 2024Exploring and Unleashing the Power of Large Language Models in Automated Code Translationcited by 57
  8. 2023A New Era in Software Security: Towards Self-Healing Software via Large Language Models and Formal Verificationcited by 42
  9. 2021A Survey on Machine Learning Techniques for Source Code Analysiscited by 23
  10. 2023GrACE: Generation using Associated Code Editscited by 16
  11. 2022Neurosymbolic Repair for Low-Code Formula Languagescited by 12
  12. 2022Improving Automated Program Repair with Domain Adaptationcited by 10
28 more
  1. 2023Enhancing Automated Program Repair through Fine-tuning and Prompt Engineeringcited by 10
  2. 2024From Vulnerabilities to Remediation: A Systematic Literature Review of LLMs in Code Securitycited by 9
  3. 2022Fix Bugs with Transformer through a Neural-Symbolic Edit Grammarcited by 8
  4. 2022Overwatch: Learning Patterns in Code Edit Sequencescited by 8
  5. 2023Anti-unification and Generalization: A Surveycited by 7
  6. 2024DeepCode AI Fix: Fixing Security Vulnerabilities with Large Language Modelscited by 7
  7. 2023Frustrated with Code Quality Issues? LLMs can Help!cited by 5
  8. 2024Memory-Efficient Large Language Models for Program Repair with Semantic-Guided Patch Generationcited by 5
  9. 2025PredicateFix: Repairing Static Analysis Alerts with Bridging Predicatescited by 5
  10. 2026ContextCov: Deriving and Enforcing Executable Constraints from Agent Instruction Filescited by 5
  11. 2022Can we learn from developer mistakes? Learning to localize and repair real bugs from real bug fixescited by 4
  12. 2021Learning to Extend Program Graphs to Work-in-Progress Codecited by 3
  13. 2022SapientML: Synthesizing Machine Learning Pipelines by Learning from Human-Written Solutionscited by 3
  14. 2025The Impact of Fine-tuning Large Language Models on Automated Program Repaircited by 3
  15. 2023DSHGT: Dual-Supervisors Heterogeneous Graph Transformer -- A pioneer study of using heterogeneous graph learning for detecting software vulnerabilitiescited by 2
  16. 2024An Empirical Study on Self-correcting Large Language Models for Data Science Code Generationcited by 2
  17. 2021Automating Program Structure Classificationcited by 1
  18. 2025Using ML filters to help automated vulnerability repairs: when it helps and when it doesn'tcited by 1
  19. 2026Rethinking Code Review in the Age of AI: A Vision for Agentic Code Reviewcited by 1
  20. 2022Code Sophistication: From Code Recommendation to Logic Recommendationcited by 0
  21. 2022Example-based Synthesis of Static Analysis Rulescited by 0
  22. 2025Instruction Set Migration at Warehouse Scalecited by 0
  23. 2025Autonomous Issue Resolver: Towards Zero-Touch Code Maintenancecited by 0
  24. 2026Focus on What Matters: Fisher-Guided Adaptive Multimodal Fusion for Vulnerability Detectioncited by 0
  25. 2026Understanding Agent-Based Patching of Compiler Missed Optimizationscited by 0
  26. 2026VCE-Skill: Enhancing Skill Self-Evolution with Version-Change Experiencecited by 0
  27. 2026TyPatch: Transforming Patches into Typestate Rules for Kernel Bug Detectioncited by 0
  28. 2026AdaRepair-Mem: Adaptive Experience Orchestration for Repository-Level Program Repaircited by 0