PRECFIX: Large-Scale Patch Recommendation by Mining Defect-Patch PairsSEIP
Patch recommendation is the process of identifying errors in software systems and suggesting suitable fixes for them. Patch recommendation can significantly improve developer productivity by reducing both the debugging and repairing time. Existing techniques usually rely on complete test suites and detailed debugging reports, which are often absent in practical industrial settings. In this paper, we propose PRECFIX, a pragmatic approach targeting large-scale industrial codebase and making recommendations based on previously observed debugging activities. PRECFIX collects defect-patch pairs from development histories, performs clustering, and extracts generic reusable patching patterns as recommendations. We conducted experimental study on an industrial codebase with 10K projects involving diverse defect patterns. We managed to extract 3K templates of defect-patch pairs, which have been successfully applied to the entire codebase. Our approach is able to make recommendations within milliseconds and achieves a false positive rate of 22% confirmed by manual review. The majority (10/12) of the interviewed developers appreciated PRECFIX, which has been rolled out to Alibaba to support various critical businesses.
Wed 8 JulDisplayed time zone: (UTC) Coordinated Universal Time change
00:00 - 01:00 | P9-Bugs and RepairJournal First / Technical Papers / Software Engineering in Practice / New Ideas and Emerging Results at Silla Chair(s): Yingfei Xiong Peking University, China | ||
00:00 12mTalk | PRECFIX: Large-Scale Patch Recommendation by Mining Defect-Patch PairsSEIP Software Engineering in Practice Xindong Zhang Alibaba Group, Chenguang Zhu University of Texas, Austin, Yi Li Nanyang Technological University, Jianmei Guo Alibaba Group, Lihua Liu Alibaba Group, Haobo Gu Alibaba Group Pre-print | ||
00:12 12mTalk | On the Efficiency of Test Suite based Program Repair: A Systematic Assessment of 16 Automated Repair Systems for Java ProgramsTechnical Technical Papers Kui Liu Huawei Software Engineering Application Technology Lab, Shangwen Wang National University of Defense Technology, Anil Koyuncu University of Luxembourg, Luxembourg, Kisub Kim University of Luxembourg, SnT, Tegawendé F. Bissyandé SnT, University of Luxembourg, Dongsun Kim Furiosa.ai, Peng Wu National University of Defense Technology, Jacques Klein University of Luxembourg, SnT, Xiaoguang Mao National University of Defense Technology, Yves Le Traon University of Luxembourg Pre-print | ||
00:24 8mTalk | SEQUENCER: Sequence-to-Sequence Learning for End-to-End Program RepairJ1 Journal First Zimin Chen KTH Royal Institute of Technology, Steve Kommrusch Colorado State University, Michele Tufano College of William and Mary, Louis-Noël Pouchet Colorado State University, USA, Denys Poshyvanyk William and Mary, Martin Monperrus KTH Royal Institute of Technology | ||
00:32 8mTalk | A Study of Bug Resolution Characteristics in Popular Programming LanguagesJ1 Journal First Jie M. Zhang University College London, UK, Feng Li , Dan Hao Peking University, Meng Wang University of Bristol, UK, Hao Tang Peking University, Lu Zhang Peking University, China, Mark Harman Facebook and University College London | ||
00:40 12mTalk | Automated Bug Reproduction from User Reviews for Android ApplicationsSEIP Software Engineering in Practice Shuyue Li Xi'an Jiaotong University, Jiaqi Guo Xi'an Jiaotong University, Ming Fan Xi'an Jiaotong University, Jian-Guang Lou Microsoft Research, Qinghua Zheng Xi'an Jiaotong University, Ting Liu Xi'an Jiaotong University | ||
00:52 6mTalk | CHASE: Checklist to Assess User Experience in Internet of Things EnvironmentsNIER New Ideas and Emerging Results Rodrigo Almeida Federal University of Ceará, Joseane Paiva Federal University of Ceará, Rossana Andrade Federal University of Ceará, Ticianne Darin Federal University of Ceará |