Impact of Code Language Models on Automated Program Repair

被引:36
|
作者
Jiang, Nan [1 ]
Liu, Kevin [2 ]
Lutellier, Thibaud [3 ]
Tan, Lin [1 ]
机构
[1] Purdue Univ, W Lafayette, IN 47907 USA
[2] Lynbrook High Sch, San Jose, CA USA
[3] Univ Alberta, Edmonton, AB, Canada
关键词
Automated Program Repair; Code Language Model; Fine-Tuning; Deep Learning;
D O I
10.1109/ICSE48619.2023.00125
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Automated program repair (APR) aims to help developers improve software reliability by generating patches for buggy programs. Although many code language models (CLM) are developed and effective in many software tasks such as code completion, there has been little comprehensive, in-depth work to evaluate CLMs' fixing capabilities and to fine-tune CLMs for the APR task. Firstly, this work is the first to evaluate ten CLMs on four APR benchmarks, which shows that surprisingly, the best CLM, as is, fixes 72% more bugs than the state-of-the-art deep-learning (DL)-based APR techniques. Secondly, one of the four APR benchmarks was created by us in this paper to avoid data leaking for a fair evaluation. Thirdly, it is the first work to fine-tune CLMs with APR training data, which shows that finetuning brings 31%-1,267% improvement to CLMs and enables them to fix 46%-164% more bugs than existing DL-based APR techniques. Fourthly, this work studies the impact of buggy lines, showing that CLMs, as is, cannot make good use of the buggy lines to fix bugs, yet fine-tuned CLMs could potentially over-rely on buggy lines. Lastly, this work analyzes the size, time, and memory efficiency of different CLMs. This work shows promising directions for the APR domain, such as fine-tuning CLMs with APR-specific designs, and also raises awareness of fair and comprehensive evaluations of CLMs and calls for more transparent reporting of open-source repositories used in the pre-training data to address the data leaking problem.
引用
收藏
页码:1430 / 1442
页数:13
相关论文
共 50 条
  • [1] Exploring the Potential of Pre-Trained Language Models of Code for Automated Program Repair
    Hao, Sichong
    Shi, Xianjun
    Liu, Hongwei
    ELECTRONICS, 2024, 13 (07)
  • [2] Large Language Models for Automated Program Repair
    Ribeiro, Francisco
    COMPANION PROCEEDINGS OF THE 2023 ACM SIGPLAN INTERNATIONAL CONFERENCE ON SYSTEMS, PROGRAMMING, LANGUAGES, AND APPLICATIONS: SOFTWARE FOR HUMANITY, SPLASH COMPANION 2023, 2023, : 7 - 9
  • [3] Large Language Models for Automated Program Repair
    Ribeiro, Francisco
    SPLASH Companion 2023 - Companion Proceedings of the 2023 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity, 2023, : 7 - 9
  • [4] An Empirical Study on Fine-tuning Large Language Models of Code for Automated Program Repair
    Huang, Kai
    Meng, Xiangxin
    Zhang, Jian
    Liu, Yang
    Wang, Wenjie
    Li, Shuhao
    Zhang, Yuqing
    2023 38TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE, 2023, : 1162 - 1174
  • [5] Automated Program Repair Using Generative Models for Code Infilling
    Koutcheme, Charles
    Sarsa, Sami
    Leinonen, Juho
    Hellas, Arto
    Denny, Paul
    ARTIFICIAL INTELLIGENCE IN EDUCATION, AIED 2023, 2023, 13916 : 798 - 803
  • [6] Enhanced automated code vulnerability repair using large language models
    de-Fitero-Dominguez, David
    Garcia-Lopez, Eva
    Garcia-Cabot, Antonio
    Martinez-Herraiz, Jose-Javier
    ENGINEERING APPLICATIONS OF ARTIFICIAL INTELLIGENCE, 2024, 138
  • [7] Leveraging Large Language Models for Automated Program Repair in Programming Education
    Murali, Pavithra Sripathanallur
    XRDS: Crossroads, 2025, 31 (02): : 58 - 60
  • [8] Automated Program Repair in the Era of Large Pre-trained Language Models
    Xia, Chunqiu Steven
    Wei, Yuxiang
    Zhang, Lingming
    2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ICSE, 2023, : 1482 - 1494
  • [9] Enhancing Code Language Models for Program Repair by Curricular Fine-tuning Framework
    Hao, Sichong
    Shi, Xianjun
    Liu, Hongwei
    Shu, Yanjun
    2023 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION, ICSME, 2023, : 136 - 146
  • [10] Automated Large Program Repair based on Big Code
    Hoang Van Thuy
    Phan Viet Anh
    Nguyen Xuan Hoai
    PROCEEDINGS OF THE NINTH INTERNATIONAL SYMPOSIUM ON INFORMATION AND COMMUNICATION TECHNOLOGY (SOICT 2018), 2018, : 375 - 381