mlsanityData to 7 Oct 2026

Patching as Translation: the Data and the Metaphor

arXiv 2008.10707 ↗First posted 24 Aug 2020cs.SE cs.LG cs.PLcited by 18

Not on the map. Why?

Abstract (arXiv)

Machine Learning models from other fields, like Computational Linguistics, have been transplanted to Software Engineering tasks, often quite successfully. Yet a transplanted model's initial success at a given task does not necessarily mean it is well-suited for the task. In this work, we examine a common example of this phenomenon: the conceit that "software patching is like language translation". We demonstrate empirically that there are subtle, but critical distinctions between sequence-to-sequence models and translation model: while program repair benefits greatly from the former, general modeling architecture, it actually suffers from design decisions built into the latter, both in terms of translation accuracy and diversity. Given these findings, we demonstrate how a more principled approach to model design, based on our empirical findings and general knowledge of software development, can lead to better solutions. Our findings also lend strong support to the recent trend towards synthesizing edits of code conditional on the buggy context, to repair bugs. We implement such models ourselves as "proof-of-concept" tools and empirically confirm that they behave in a fundamentally different, more effective way than the studied translation-based architectures. Overall, our results demonstrate the merit of studying the intricacies of machine learned models in software engineering: not only can this help elucidate potential issues that may be overshadowed by increases in accuracy; it can also help innovate on these models to raise the state-of-the-art further. We will publicly release our replication data and materials at https://github.com/ARiSE-Lab/Patch-as-translation.

Key facts. Cited by 18 papers in the map (data through 7 Oct 2026). First posted on arXiv 24 Aug 2020.

Builds on

No reference list yet.

Built on by

Cited by year (2026 to 7 Oct)

Citing papers per year: 2021: 6; 2022: 3; 2023: 4; 2024: 3; 2025: 1; 2026: 1.

18 papers.

Sort:

  1. 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repaircited by 85
  2. 2021Break-It-Fix-It: Unsupervised Learning for Program Repaircited by 71
  3. 2022CoditT5: Pretraining for Source Code and Natural Language Editingcited by 45
  4. 2024CYCLE: Learning to Self-Refine the Code Generationcited by 39
  5. 2023InstructCoder: Instruction Tuning Large Language Models for Code Editingcited by 28
  6. 2021On Multi-Modal Learning of Editing Source Codecited by 25
  7. 2021VELVET: a noVel Ensemble Learning approach to automatically locate VulnErable sTatementscited by 20
  8. 2021Towards Learning (Dis)-Similarity of Source Code from Program Contrastscited by 17
  9. 2022FixEval: Execution-based Evaluation of Program Fixes for Programming Problemscited by 17
  10. 2022Detect-Localize-Repair: A Unified Framework for Learning to Debug with CodeT5cited by 9
  11. 2023Multilingual Code Co-Evolution Using Large Language Modelscited by 9
  12. 2023Pitfalls in Language Models for Code Intelligence: A Taxonomy and Surveycited by 9
6 more
  1. 2021SYNFIX: Automatically Fixing Syntax Errors using Compiler Diagnosticscited by 8
  2. 2024Automated Program Repair: Emerging trends pose and expose problems for benchmarkscited by 7
  3. 2024Towards Reliable Evaluation of Neural Program Repair with Natural Robustness Testingcited by 5
  4. 2023ARIST: An Effective API Argument Recommendation Approachcited by 2
  5. 2025A Multi-Dataset Evaluation of Models for Automated Vulnerability Repaircited by 1
  6. 2026MobileDev-Bench: A Benchmark for Issue Resolution in Mobile Application Developmentcited by 0