Detect-Localize-Repair: A Unified Framework for Learning to Debug with CodeT5
Not on the map. Why?
Abstract (arXiv)
Automated software debugging is a crucial task for improving the productivity of software developers. Many neural-based techniques have been proven effective for debugging-related tasks such as bug localization and program repair (or bug fixing). However, these techniques often focus only on either one of them or approach them in a stage-wise manner, ignoring the mutual benefits between them. In this work, we propose a novel unified Detect-Localize-Repair framework based on a pretrained programming language model CodeT5 to seamlessly address these tasks, named CodeT5-DLR. Specifically, we propose three objectives to adapt the generic CodeT5 for debugging: a bug detection objective to determine whether a given code snippet is buggy or not, a bug localization objective to identify the buggy lines, and a program repair objective to translate the buggy code to its fixed version. We evaluate it on each of these tasks and their combined setting on two newly collected line-level debugging datasets in Java and Python. Extensive results show that our model significantly outperforms existing baselines from both NLP and software engineering domains.
Key facts. Cited by 9 papers in the map (data through 7 Oct 2026). Builds on 26 of its 46 references that are in the map. First posted on arXiv 27 Nov 2022.
Builds on
26 of 46 references.
References · 26
- 2017Attention Is All You Needcited by 59,932
- 2019RoBERTa: A Robustly Optimized BERT Pretraining Approachcited by 13,266
- 2015Neural Machine Translation of Rare Words with Subword Unitscited by 2,898
- 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,286
- 2021CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generationcited by 890
- 2015Pointer Networkscited by 882
- 2021CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generationcited by 732
- 2020GraphCodeBERT: Pre-training Code Representations with Data Flowcited by 600
- 2021Unified Pre-training for Program Understanding and Generationcited by 361
- 2018SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repaircited by 144
- 2020Graph-based, Self-Supervised Program Repair from Diagnostic Feedbackcited by 93
- 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repaircited by 85
14 more
- 2021Break-It-Fix-It: Unsupervised Learning for Program Repaircited by 71
- 2021Self-Supervised Bug Detection and Repaircited by 59
- 2021A Syntax-Guided Edit Decoder for Neural Program Repaircited by 57
- 2020Self-Supervised Contrastive Learning for Code Retrieval and Summarization via Semantic-Preserving Transformationscited by 49
- 2021Applying CodeBERT for Automated Program Repair of Java Simple Bugscited by 44
- 2019Neural Program Repair by Jointly Learning to Localize and Repaircited by 39
- 2015On the "Naturalness" of Buggy Codecited by 35
- 2019How Often Do Single-Statement Bugs Occur? The ManySStuBs4J Datasetcited by 35
- 2021How could Neural Networks understand Programs?cited by 26
- 2021Learning to Complete Code with Sketchescited by 23
- 2020Patching as Translation: the Data and the Metaphorcited by 18
- 2022On Distribution Shift in Learning-based Bug Detectorscited by 15
- 2022TSSB-3M: Mining single statement bugs at massive scalecited by 14
- 2018An Empirical Study of Fault Localization Families and Their Combinationscited by 13
Built on by
Citing papers per year: 2023: 2; 2024: 6; 2025: 1.
9 papers.
- 2024HyperAgent: Generalist Software Engineering Agents to Solve Coding Tasks at Scalecited by 61
- 2024When is Tree Search Useful for LLM Planning? It Depends on the Discriminatorcited by 46
- 2024AgileCoder: Dynamic Collaborative Agents for Software Development based on Agile Methodologycited by 45
- 2023RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic Program Repaircited by 43
- 2023CodeTF: One-stop Transformer Library for State-of-the-art Code LLMscited by 21
- 2024CodeMMLU: A Multi-Task Benchmark for Assessing Code Understanding & Reasoning Capabilities of CodeLLMscited by 18
- 2024XMainframe: A Large Language Model for Mainframe Modernizationcited by 6
- 2025RepoDebug: Repository-Level Multi-Task and Multi-Language Debugging Evaluation of Large Language Modelscited by 4
- 2024S3LLM: Large-Scale Scientific Software Understanding with LLMs using Source, Metadata, and Documentcited by 2
- 2025RepoDebug: Repository-Level Multi-Task and Multi-Language Debugging Evaluation of Large Language Models4 Sep 2025
- 2024CodeMMLU: A Multi-Task Benchmark for Assessing Code Understanding & Reasoning Capabilities of CodeLLMs2 Oct 2024
- 2024HyperAgent: Generalist Software Engineering Agents to Solve Coding Tasks at Scale9 Sep 2024
- 2024XMainframe: A Large Language Model for Mainframe Modernization5 Aug 2024
- 2024AgileCoder: Dynamic Collaborative Agents for Software Development based on Agile Methodology16 Jun 2024
- 2024S3LLM: Large-Scale Scientific Software Understanding with LLMs using Source, Metadata, and Document15 Mar 2024
- 2024When is Tree Search Useful for LLM Planning? It Depends on the Discriminator16 Feb 2024
- 2023RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic Program Repair12 Sep 2023
- 2023CodeTF: One-stop Transformer Library for State-of-the-art Code LLMs31 May 2023