When Large Language Models Confront Repository-Level Automatic Program Repair: How Well They Done?
In recent years, large language models (LLMs) have demonstrated substantial potential in addressing automatic program repair (APR) tasks. However, the current evaluation of these models for APR tasks focuses solely on the limited context of the single function or file where the bug is located, overlooking the valuable information in the repository-level context. This paper investigates the performance of popular LLMs in handling repository-level repair tasks. We introduce RepoBugs, a new benchmark comprising 124 typical repository-level bugs from open-source repositories. Preliminary experiments using GPT3.5 based on the function where the error is located, reveal that the repair rate on RepoBugs is only 22.58%, significantly diverging from the performance of GPT3.5 on function-level bugs in related studies. This underscores the importance of providing repository-level context when addressing bugs at this level. However, the repository-level context offered by the preliminary method often proves redundant and imprecise and easily exceeds the prompt length limit of LLMs. To solve the problem, we propose a simple and universal repository-level context extraction method (RLCE) designed to provide more precise context for repository-level code repair tasks. Evaluations of three mainstream LLMs show that RLCE significantly enhances the ability to repair repository-level bugs. The improvement reaches a maximum of 160% compared to the preliminary method. Additionally, we conduct a comprehensive analysis of the effectiveness and limitations of RLCE, along with the capacity of LLMs to address repository-level bugs, offering valuable insights for future research.
Wed 17 AprDisplayed time zone: Lisbon change
11:00 - 12:30 | Program Repair 1Research Track / Journal-first Papers / Industry Challenge Track at Pequeno Auditório Chair(s): Sergey Mechtaev University College London | ||
11:00 15mTalk | Domain Knowledge Matters: Improving Prompts with Fix Templates for Repairing Python Type Errors Research Track Yun Peng The Chinese University of Hong Kong, Shuzheng Gao The Chinese University of Hong Kong, Cuiyun Gao Harbin Institute of Technology, Yintong Huo The Chinese University of Hong Kong, Michael Lyu The Chinese University of Hong Kong | ||
11:15 15mTalk | VeRe: Verification Guided Synthesis for Repairing Deep Neural Networks Research Track Jianan Ma Hangzhou Dianzi University, China; Zhejiang University, Hangzhou, China, Pengfei Yang Institute of Software at Chinese Academy of Sciences, China, Jingyi Wang Zhejiang University, Youcheng Sun The University of Manchester, Cheng-Chao Huang Nanjing Institute of Software Technology, ISCAS, Zhen Wang Hangzhou Dianzi University, China | ||
11:30 15mTalk | Automated Program Repair, What Is It Good For? Not Absolutely Nothing! Research Track Hadeel Eladawy University of Massachusetts, Claire Le Goues Carnegie Mellon University, Yuriy Brun University of Massachusetts DOI Pre-print Media Attached | ||
11:45 15mTalk | When Large Language Models Confront Repository-Level Automatic Program Repair: How Well They Done? Industry Challenge Track YuXiao Chen Institute of Software, Chinese Academy of Sciences, Jingzheng Wu Institute of Software, The Chinese Academy of Sciences, Xiang Ling Institute of Software, Chinese Academy of Sciences, Changjiang Li Penn State, ZHIQING RUI Institute of Software, Chinese Academy of Sciences; University of Chinese Academy of Sciences, Tianyue Luo Institute of Software, Chinese Academy of Sciences, Yanjun Wu Institute of Software, Chinese Academy of Sciences | ||
12:00 7mTalk | Katana: Dual Slicing Based Context for Learning Bug Fixes Journal-first Papers Mifta Sintaha University of British Columbia, Noor Nashid University of British Columbia, Ali Mesbah University of British Columbia (UBC) Link to publication Pre-print | ||
12:07 7mTalk | Poracle: Testing Patches Under Preservation Conditions to Combat the Overfitting Problem of Program Repair Journal-first Papers Elkhan Ismayilzada UNIST, Md Mazba Ur Rahman UNIST, Dongsun Kim Kyungpook National University, Jooyong Yi UNIST | ||
12:14 7mTalk | APR4Vul: An empirical study of automatic program repair techniques on real-world Java vulnerabilities Journal-first Papers Quang-Cuong Bui Hamburg University of Technology, Ranindya Paramitha University of Trento, Duc-Ly Vu University of Information Technology, Ho Chi Minh City, Fabio Massacci University of Trento; Vrije Universiteit Amsterdam, Riccardo Scandariato Hamburg University of Technology DOI Pre-print |