Table of Contents
Fetching ...

FastFixer: An Efficient and Effective Approach for Repairing Programming Assignments

Fang Liu, Zhenwei Liu, Qianhui Zhao, Jing Jiang, Li Zhang, Ge Li, Zian Sun, Zhongqi Li, Yuchi Ma

TL;DR

To assist the LLM in accurately identifying and repairing bugs, a novel repair-oriented fine-tuning strategy is proposed, aiming to enhance the LLM’s attention towards learning how to generate the necessary patch and its associated context, and an inference acceleration approach that is specifically tailored for the program repair task is proposed.

Abstract

Providing personalized and timely feedback for student's programming assignments is useful for programming education. Automated program repair (APR) techniques have been used to fix the bugs in programming assignments, where the Large Language Models (LLMs) based approaches have shown promising results. Given the growing complexity of identifying and fixing bugs in advanced programming assignments, current fine-tuning strategies for APR are inadequate in guiding the LLM to identify bugs and make accurate edits during the generative repair process. Furthermore, the autoregressive decoding approach employed by the LLM could potentially impede the efficiency of the repair, thereby hindering the ability to provide timely feedback. To tackle these challenges, we propose FastFixer, an efficient and effective approach for programming assignment repair. To assist the LLM in accurately identifying and repairing bugs, we first propose a novel repair-oriented fine-tuning strategy, aiming to enhance the LLM's attention towards learning how to generate the necessary patch and its associated context. Furthermore, to speed up the patch generation, we propose an inference acceleration approach that is specifically tailored for the program repair task. The evaluation results demonstrate that FastFixer obtains an overall improvement of 20.46% in assignment fixing when compared to the state-of-the-art baseline. Considering the repair efficiency, FastFixer achieves a remarkable inference speedup of 16.67 times compared to the autoregressive decoding algorithm.

FastFixer: An Efficient and Effective Approach for Repairing Programming Assignments

TL;DR

To assist the LLM in accurately identifying and repairing bugs, a novel repair-oriented fine-tuning strategy is proposed, aiming to enhance the LLM’s attention towards learning how to generate the necessary patch and its associated context, and an inference acceleration approach that is specifically tailored for the program repair task is proposed.

Abstract

Providing personalized and timely feedback for student's programming assignments is useful for programming education. Automated program repair (APR) techniques have been used to fix the bugs in programming assignments, where the Large Language Models (LLMs) based approaches have shown promising results. Given the growing complexity of identifying and fixing bugs in advanced programming assignments, current fine-tuning strategies for APR are inadequate in guiding the LLM to identify bugs and make accurate edits during the generative repair process. Furthermore, the autoregressive decoding approach employed by the LLM could potentially impede the efficiency of the repair, thereby hindering the ability to provide timely feedback. To tackle these challenges, we propose FastFixer, an efficient and effective approach for programming assignment repair. To assist the LLM in accurately identifying and repairing bugs, we first propose a novel repair-oriented fine-tuning strategy, aiming to enhance the LLM's attention towards learning how to generate the necessary patch and its associated context. Furthermore, to speed up the patch generation, we propose an inference acceleration approach that is specifically tailored for the program repair task. The evaluation results demonstrate that FastFixer obtains an overall improvement of 20.46% in assignment fixing when compared to the state-of-the-art baseline. Considering the repair efficiency, FastFixer achieves a remarkable inference speedup of 16.67 times compared to the autoregressive decoding algorithm.

Paper Structure

This paper contains 35 sections, 7 equations, 6 figures, 5 tables, 1 algorithm.

Figures (6)

  • Figure 1: Overview of FastFixer.
  • Figure 2: Modification-focused mask construction process.
  • Figure 3: Bug fixing examples of various masking strategies.
  • Figure 4: Inference speedup of FastFixer with different buggy code length.
  • Figure 5: Inference step efficiency of FastFixer with different buggy code length.
  • ...and 1 more figures