paper-with-me

Papers

Program Repair with Minimal Edits Using CodeT5

2023-09-26 · Atsushi Shirafuji, Md. Mostafizer Rahman, Md Faizul Ibne Amin, Yutaka Watanobe

Programmers often struggle to identify and fix bugs in their programs. In recent years, many language models (LMs) have been proposed to fix erroneous programs and support error recovery. However, the LMs tend to generate solutions that differ from the original input programs. This leads to potential comprehension difficulties for users. In this paper, we propose an approach to suggest a correct program with minimal repair edits using CodeT5. We fine-tune a pre-trained CodeT5 on code pairs of wrong and correct programs and evaluate its performance with several baseline models. The experimental results show that the fine-tuned CodeT5 achieves a pass@100 of 91.95% and an average edit distance of the most similar correct program of 6.84, which indicates that at least one correct program can be suggested by generating 100 candidate programs. We demonstrate the effectiveness of LMs in suggesting program repair with minimal edits for solving introductory programming problems.

📄 PDF Abstract BibTeX arXiv:2309.14760

Code (0)

등록된 구현이 없습니다.

Tasks

Program Repair

Methods 이 논문이 사용한 방법론

Gated Linear Unit A Gated Linear Unit, or GLU computes: $$ \mathrm{GLU}(a, b) = a \otimes \sigma(b) $$ It is used in natural language processing architectures, for example the Gated CNN,…
Multi-Head Attention 설명 없음
Attention 설명 없음
BPE Byte Pair Encoding, or BPE, is a subword segmentation algorithm that encodes rare and unknown words as sequences of subword units. The intuition is that various word…
Linear Layer A Linear Layer is a projection $\mathbf{XW + b}$.
Attention Dropout Attention Dropout is a type of dropout used in attention-based architectures, where elements are randomly dropped out of the…
Dropout Dropout is a regularization technique for neural networks that drops a unit (along with connections) at training time with a specified probability $p$ (a common value is…
Inverse Square Root Schedule Inverse Square Root is a learning rate schedule 1 / $\sqrt{\max\left(n, k\right)}$ where $n$ is the current training iteration and $k$ is the number of warm-up steps. This…

Similar Papers 제목 키워드 기반

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

2022-11-27 · Nghi D. Q. Bui, Yue Wang, Steven Hoi

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 progr…

Bug fixingLanguage ModelingLanguage ModellingProgram Repair

RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic Program Repair

2023-09-12 · Weishi Wang, Yue Wang, Shafiq Joty, Steven C. H. Hoi

Automatic program repair (APR) is crucial to reduce manual debugging efforts for developers and improve software reliability. While conventional search-based techniques typically rely on heuristic rules or a redundancy a…

Language ModellingProgram RepairRetrieval

Repair Is Nearly Generation: Multilingual Program Repair with LLMs

2022-08-24 · Harshit Joshi, José Cambronero, Sumit Gulwani, Vu Le 외

Most programmers make mistakes when writing code. Some of these mistakes are small and require few edits to the original program -- a class of errors recently termed last mile mistakes. These errors break the flow for ex…

Language ModellingLarge Language ModelProgram Repair

QiMeng-PRepair: Precise Code Repair via Edit-Aware Reward Optimization

2026-04-07 · Changxin Ke, Rui Zhang, Jiaming Guo, Yuanbo Wen 외 arxiv

Large Language Models (LLMs) achieve strong program repair performance but often suffer from over-editing, where excessive modifications overwrite correct code and hinder bug localization. We systematically quantify its …

Program RepairCode Repair

Enhancing Automated Program Repair through Fine-tuning and Prompt Engineering

2023-04-16 · Rishov Paul, Md. Mohib Hossain, Mohammed Latif Siddiq, Masum Hasan 외

Sequence-to-sequence models have been used to transform erroneous programs into correct ones when trained with a large enough dataset. Some recent studies also demonstrated strong empirical evidence that code review coul…

Program RepairPrompt Engineering