Detect-Localize-Repair: A Unified Framework for Learning to Debug with CodeT5

12Citations
Citations of this article
43Readers
Mendeley users who have this article in their library.
Get full text

Abstract

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.

Cite

CITATION STYLE

APA

Bui, N. D. Q., Wang, Y., & Hoi, S. C. H. (2022). Detect-Localize-Repair: A Unified Framework for Learning to Debug with CodeT5. In Findings of the Association for Computational Linguistics: EMNLP 2022 (pp. 812–823). Association for Computational Linguistics (ACL). https://doi.org/10.18653/v1/2022.findings-emnlp.160

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free