One Size Does Not Fit All: Multi-Granularity Patch Generation for Better Automated Program Repair
This program is tentative and subject to change.
Automated program repair aims to automate bug correction and alleviate the burden of manual debugging, which plays a crucial role in software development and maintenance. Recent studies reveal that learning-based approaches have outperformed conventional APR techniques (e.g., search-based APR). Existing learning-based APR techniques mainly center on treating program repair either as a translation task or a cloze task. The former primarily emphasizes statement-level repair, while the latter concentrates on token-level repair, as per our observations. In practice, however, patches may manifest at various repair granularity, including statement, expression, or token levels. Consequently, merely generating patches from a single granularity would be ineffective to tackle real-world defects.Motivated by this observation, we propose Mulpor, a multi-granularity patch generation approach designed to address the diverse nature of real-world bugs. Mulpor comprises three components: statement-level, expression-level, and token-level generator, each pre-trained to generate correct patches at its respective granularity. The approach involves generating candidate patches from various granularities, followed by a re-ranking process based on a heuristic to prioritize correct patches. Experimental results on the Defects4J dataset demonstrate that Mulpor correctly repair 92 bugs on Defects4J-v1.2, which achieves 27.0% (20 bugs) and 12.2% (10 bugs) improvement over the previous state-of-the-art NMT-style Rap-Gen and Cloze-style GAMMA. We also studied the generalizability of Mulpor in repairing vulnerabilities, revealing a notable 51% increase in the number of correctly-fixed patches compared with state-of-the-art vulnerability repair approaches. This paper underscores the importance of considering multiple granularities in program repair techniques for a comprehensive strategy to address the diverse nature of real-world software defects. Mulpor, as proposed herein, exhibits promising results in achieving effective and diverse bug fixes across various program repair scenarios.
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 |