ThinkRepair: Self-Directed Automated Program Repair
This program is tentative and subject to change.
Though many approaches have been proposed for Automated Program Repair (APR) and indeed achieved remarkable performance, they still have limitations in fixing bugs that require analyzing and reasoning about the logic of the buggy program. Recently, large language models (LLM) instructed by prompt engineering have attracted much attention for their powerful ability to address many kinds of tasks including bug-fixing. However, the quality of the prompt will highly affect the ability of LLMs and manually constructing high-quality prompts is a costly endeavor. To address this limitation, we propose a self-directed LLM-based automated program repair, ThinkRepair, with two main phases: collection phase and fixing phase. The former phase automatically collects various chains of thoughts that constitute pre-fixed knowledge by instructing LLMs with the Chain-of-Thought (CoT) prompt, which helps with reasoning. The latter phase targets fixing a bug by first selecting examples for few-shot learning and second automatically interacting with LLMs, optionally appending with feedback of testing information. Evaluations on two widely studied datasets (Defects4J and QuixBugs) by comparing ThinkRepair with 12 SOTA APRs indicate the priority of ThinkRepair in fixing bugs. Notably, ThinkRepair fixes 98 bugs and improves baselines by 27%∼344.4% on Defects4J V1.2. On Defects4J V2.0, ThinkRepair fixes 12∼65 more bugs than the SOTA APRs. Additionally, ThinkRepair also makes a considerable improvement on QuixBugs (31 for Java and 21 for Python at most).
This program is tentative and subject to change.
Wed 18 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
15:30 - 17:10 | |||
15:30 20mTalk | Automated Program Repair via Conversation: Fixing 162 out of 337 bugs for $0.42 each using ChatGPT Technical Papers Chunqiu Steven Xia University of Illinois at Urbana-Champaign, Lingming Zhang University of Illinois Urbana-Champaign | ||
15:50 20mTalk | ThinkRepair: Self-Directed Automated Program Repair Technical Papers Xin Yin The State Key Laboratory of Blockchain and Data Security, Zhejiang University, Chao Ni School of Software Technology, Zhejiang University, Shaohua Wang Central University of Finance and Economics, Zhenhao Li York University, Limin Zeng School of Software Technology, Zhejiang University, Xiaohu Yang Zhejiang University | ||
16:10 20mTalk | BRAFAR: Bidirectional Refactoring, Alignment, Fault Localization, and Repair for Programming Assignments Technical Papers Linna Xie Nanjing University, Chongmin Li Nanjing University, Yu Pei The Hong Kong Polytechnic University, Tian Zhang Nanjing University, Minxue Pan Nanjing University | ||
16:30 20mTalk | CREF: An LLM-based Conversational Software Repair Framework for Programming Tutors Technical Papers Boyang Yang Yanshan University & Jisuanke Co. Ltd., Haoye Tian University of Melbourne, Weiguo PIAN University of Luxembourg, Haoran Yu Jisuanke Co. Ltd., Haitao Wang Jisuanke Co. Ltd., Jacques Klein University of Luxembourg, Tegawendé F. Bissyandé University of Luxembourg, Shunfu Jin Yanshan University | ||
16:50 20mTalk | One Size Does Not Fit All: Multi-Granularity Patch Generation for Better Automated Program Repair Technical Papers Bo Lin National University of Defense Technology, Shangwen Wang National University of Defense Technology, Ming Wen Huazhong University of Science and Technology, Liqian Chen National University of Defense Technology, China, Xiaoguang Mao National University of Defense Technology Pre-print |