Assessing the Latent Automated Program Repair Capabilities of Large Language Models using Round-Trip Translation
Not on the map. Why?
Abstract (arXiv)
Research shows that errors in natural language can be corrected by translating texts to another language and back using language models. We explore to what extent this latent correction capability extends to Automated Program Repair (APR) by investigating Round-Trip Translation (RTT): translating code from one programming language into another programming or natural language and back, using Large Language Models (LLMs). We hypothesize that RTT restores patterns most commonly seen in the LLM's training corpora through regression toward the mean, replacing infrequent bugs with more frequent, natural, bug-free code. To test this hypothesis, we employ nine LLMs and four common APR benchmarks in Java, and perform a detailed quantitative and qualitative analysis of RTT-generated patches. We find that RTT through English generates plausible patches for 100 of 164 bugs with GPT-4 on the HumanEval-Java benchmark, and 97 are found to be correct in our manual assessment. Moreover, RTT uniquely generates plausible patches for 46 bugs that were missed by LLMs specifically fine-tuned for APR. While this demonstrates the viability of RTT for APR, we also observe limitations, such as a lower overall bug fix rate than the state-of-the-art and diluting the original coding style. We analyze the impact of these limitations and discuss the potential of using RTT as a complementary component in APR frameworks. A replication package is available for download from https://doi.org/10.5281/zenodo.10500593. Keywords: automated program repair, large language model, machine translation
Key facts. Cited by 3 papers in the map (data through 7 Oct 2026). Builds on 52 of its 81 references that are in the map. First posted on arXiv 15 Jan 2024.
Builds on
52 of 81 references.
References · 52
- 2017Attention Is All You Needcited by 59,932
- 2020Language Models are Few-Shot Learnerscited by 32,199
- 2023GPT-4 Technical Reportcited by 18,132
- 2019Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformercited by 14,491
- 2021Evaluating Large Language Models Trained on Codecited by 8,053
- 2020Scaling Laws for Neural Language Modelscited by 6,411
- 2019BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehensioncited by 5,874
- 2014Sequence to Sequence Learning with Neural Networkscited by 2,974
- 2023Sparks of Artificial General Intelligence: Early experiments with GPT-4cited by 2,579
- 2022Emergent Abilities of Large Language Modelscited by 2,483
- 2023HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Facecited by 1,173
- 2023Teaching Large Language Models to Self-Debugcited by 963
38 more
- 2021CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generationcited by 890
- 2021CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generationcited by 732
- 2020GraphCodeBERT: Pre-training Code Representations with Data Flowcited by 600
- 2022InCoder: A Generative Model for Code Infilling and Synthesiscited by 492
- 2020CodeBLEU: a Method for Automatic Evaluation of Code Synthesiscited by 468
- 2021Asleep at the Keyboard? Assessing the Security of GitHub Copilot's Code Contributionscited by 417
- 2021Unified Pre-training for Program Understanding and Generationcited by 361
- 2022The Stack: 3 TB of permissively licensed source codecited by 354
- 2023CodeT5+: Open Code Large Language Models for Code Understanding and Generationcited by 327
- 2020Unsupervised Translation of Programming Languagescited by 262
- 2017A Survey of Machine Learning for Big Code and Naturalnesscited by 220
- 2021Efficient Large Scale Language Modeling with Mixtures of Expertscited by 175
- 2023SantaCoder: don't reach for the stars!cited by 169
- 2018SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repaircited by 144
- 2022CM3: A Causal Masked Multimodal Model of the Internetcited by 142
- 2018Phrase-Based & Neural Unsupervised Machine Translationcited by 138
- 2023An Empirical Study of the Non-determinism of ChatGPT in Code Generationcited by 134
- 2022Practical Program Repair in the Era of Large Pre-trained Language Modelscited by 133
- 2023An Analysis of the Automatic Bug Fixing Performance of ChatGPTcited by 108
- 2018An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translationcited by 106
- 2019Neural Machine Translation: A Review and Surveycited by 99
- 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repaircited by 85
- 2023Impact of Code Language Models on Automated Program Repaircited by 85
- 2020Contrastive Code Representation Learningcited by 76
- 2022Less Training, More Repairing Please: Revisiting Automated Program Repair via Zero-shot Learningcited by 76
- 2022Automated Repair of Programs from Large Language Modelscited by 71
- 2020A Survey of Deep Learning Techniques for Neural Machine Translationcited by 50
- 2021Multilingual training for Software Engineeringcited by 43
- 2015On the "Naturalness" of Buggy Codecited by 35
- 2020Exploring Software Naturalness through Neural Language Modelscited by 32
- 2023The FormAI Dataset: Generative AI in Software Security Through the Lens of Formal Verificationcited by 32
- 2023Fully Autonomous Programming with Large Language Modelscited by 31
- 2018Automatic Software Repair: a Bibliographycited by 24
- 2022Deep Learning Meets Software Engineering: A Survey on Pre-Trained Models of Source Codecited by 20
- 2018A Comprehensive Study of Automatic Program Repair on the QuixBugs Benchmarkcited by 17
- 2018Dissection of a Bug Dataset: Anatomy of 395 Patches from Defects4Jcited by 14
- 2024De-Hallucinator: Mitigating LLM Hallucinations in Code Generation Tasks via Iterative Groundingcited by 14
- 2022Summarize and Generate to Back-translate: Unsupervised Translation of Programming Languagescited by 12
50 most cited of 52 All 52 (JSON)
Built on by
Citing papers per year: 2024: 3.
3 papers.
- 2024From LLMs to LLM-based Agents for Software Engineering: A Survey of Current, Challenges and Futurecited by 85
- 2024SOEN-101: Code Generation by Emulating Software Process Models Using Large Language Model Agentscited by 34
- 2024Collu-Bench: A Benchmark for Predicting Language Model Hallucinations in Codecited by 13
- 2024Collu-Bench: A Benchmark for Predicting Language Model Hallucinations in Code13 Oct 2024
- 2024From LLMs to LLM-based Agents for Software Engineering: A Survey of Current, Challenges and Future5 Aug 2024
- 2024SOEN-101: Code Generation by Emulating Software Process Models Using Large Language Model Agents23 Mar 2024