In recent years, template-based and NMT-based automated program repair methods have been widely studied and achieved promising results. However, there are still disadvantages in both methods. The template-based methods cannot fix the bugs whose types are beyond the capabilities of the templates and only use the syntax information to guide the patch synthesis, while the NMT-based methods intend to generate the small range of fixed code for better performance and may suffer from the OOV (Out-of-vocabulary) problem. To solve these problems, we propose a novel template-based neural program repair approach called TENURE to combine the template-based and NMT-based methods. First, we build two large-scale datasets for 35 fix templates from template-based method and one special fix template (single-line code generation) from NMT-based method, respectively. Second, the encoder-decoder models are adopted to learn deep semantic features for generating patch intermediate representations (IRs) for different templates. The optimized copy mechanism is also used to alleviate the OOV problem. Third, based on the combined patch IRs for different templates, three tools are developed to recover real patches from the patch IRs, replace the unknown tokens, and filter the patch candidates with compilation errors by leveraging the project-specific information. On Defects4J-v1.2, TENURE can fix 79 bugs and 52 bugs with perfect and Ochiai fault localization, respectively. It is able to repair 50 and 32 bugs as well on Defects4J-v2.0. Compared with the existing template-based and NMT-based studies, TENURE achieves the best performance in all experiments.
Thu 18 MayDisplayed time zone: Hobart change
13:45 - 15:15 | Program repair with and for AITechnical Track / Journal-First Papers / DEMO - Demonstrations at Meeting Room 102 Chair(s): Julia Rubin University of British Columbia, Canada | ||
13:45 15mTalk | Impact of Code Language Models on Automated Program Repair Technical Track Nan Jiang Purdue University, Kevin Liu Lynbrook High School, Thibaud Lutellier University of Alberta, Lin Tan Purdue University Pre-print | ||
14:00 15mTalk | Tare: Type-Aware Neural Program Repair Technical Track Qihao Zhu Peking University, Zeyu Sun Zhongguancun Laboratory, Wenjie Zhang Peking University, Yingfei Xiong Peking University, Lu Zhang Peking University | ||
14:15 15mTalk | Template-based Neural Program Repair Technical Track Xiangxin Meng Beihang University, Beijing, China, Xu Wang Beihang University, Hongyu Zhang The University of Newcastle, Hailong Sun School of Computer Science and Engineering, Beihang University, Beijing,China, Xudong Liu Beihang University, Chunming Hu Beihang University Pre-print | ||
14:30 15mTalk | Automated Repair of Programs from Large Language Models Technical Track Zhiyu Fan National University of Singapore, Singapore, Xiang Gao Beihang University, China, Martin Mirchev National University of Singapore, Abhik Roychoudhury National University of Singapore, Shin Hwei Tan Southern University of Science and Technology | ||
14:45 15mTalk | Automated Program Repair in the Era of Large Pre-trained Language Models Technical Track Chunqiu Steven Xia University of Illinois at Urbana-Champaign, Yuxiang Wei University of Illinois at Urbana-Champaign, Lingming Zhang University of Illinois at Urbana-Champaign | ||
15:00 7mTalk | AIREPAIR: A Repair Platform for Neural Networks DEMO - Demonstrations Xidan Song Department of Computer Science, University of Manchester, UK, Youcheng Sun The University of Manchester, Mustafa A. Mustafa Department of Computer Science, University of Manchester, UK, imec-COSIC, KU Leuven, Belgium, Lucas C. Cordeiro University of Manchester | ||
15:07 7mTalk | Arachne: Search Based Repair of Deep Neural Networks Journal-First Papers Link to publication DOI Pre-print |