TransplantFix: Graph Differencing-based Code Transplantation for Automated Program RepairVirtual
Automated program repair (APR) holds the promise of aiding manual debugging activities. Over a decade of evolution, a broad range of APR techniques have been proposed and evaluated on a set of real-world bug datasets. However, while more and more bugs have been correctly fixed, we observe that the growth of newly fixed bugs by APR techniques has hit a bottleneck in recent years. In this work, we explore the possibility of addressing complicated bugs by proposing TransplantFix, a novel APR technique that leverages graph differencing-based transplantation from the donor method. The key novelty of TransplantFix lies in three aspects: 1) we propose to use a graph-based differencing algorithm to distill semantic fix actions from the donor method; 2) we devise an inheritance-hierarchy-aware code search approach to identify donor methods with similar functionality; 3) we present a namespace transfer approach to effectively adapt donor code.
We investigate the unique contributions of TransplantFix by conducting an extensive comparison that covers a total of 42 APR techniques and evaluating TransplantFix on 839 real-world bugs from Defects4J v1.2 and v2.0. TransplantFix presents superior results in three aspects. First, it has achieved the best performance as compared to the state-of-the-art APR techniques proposed in the last three years, in terms of the number of newly fixed bugs, reaching a 60%-300% improvement. Furthermore, not relying on any fix actions crafted manually or learned from big data, it reaches the best generalizability among all APR techniques evaluated on Defects4J v1.2 and v2.0. In addition, it shows the potential to synthesize complicated patches consisting of at most eight-line insertions at a hunk. TransplantFix presents fresh insights and a promising avenue for follow-up research towards addressing more complicated bugs.
Thu 13 OctDisplayed time zone: Eastern Time (US & Canada) change
13:30 - 15:30 | Technical Session 25 - Software RepairsNIER Track / Research Papers / Tool Demonstrations at Ballroom C East Chair(s): Yannic Noller National University of Singapore | ||
13:30 20mResearch paper | ICEBAR: Feedback-Driven Iterative Repair of Alloy Specifications Research Papers Simón Gutiérrez Brida University of Rio Cuarto and CONICET, Argentina, Germán Regis Universidad Nacional de Río Cuarto, Guolong Zheng University of Nebraska Lincoln, Hamid Bagheri University of Nebraska-Lincoln, ThanhVu Nguyen George Mason University, Nazareno Aguirre University of Rio Cuarto and CONICET, Argentina, Marcelo F. Frias Dept. of Software Engineering Instituto Tecnológico de Buenos Aires | ||
13:50 20mResearch paper | Repairing Failure-inducing Inputs with Input Reflection Research Papers Yan Xiao National University of Singapore, Yun Lin National University of Singapore, Ivan Beschastnikh University of British Columbia, Changsheng SUN , David Rosenblum George Mason University, Jin Song Dong National University of Singapore | ||
14:10 10mDemonstration | ElecDaug: Electromagnetic Data Augmentation for Model Repair based on Metamorphic Relation Tool Demonstrations Jiawei He , Zhida Bao Harbin Engineering University, Quanjun Zhang Nanjing University, Weisong Sun State Key Laboratory for Novel Software Technology, Nanjing University, Jiawei Liu Nanjing University, Chunrong Fang Nanjing University, Yun Lin National University of Singapore | ||
14:20 20mResearch paper | TransplantFix: Graph Differencing-based Code Transplantation for Automated Program RepairVirtual Research Papers Deheng Yang National University of Defense Technology, Xiaoguang Mao National University of Defense Technology, Liqian Chen National University of Defense Technology, China, Xuezheng Xu Academy of Military Sciences, Beijing, China, Yan Lei Chongqing University, David Lo Singapore Management University, Jiayu He National University of Defense Technology, Changsha, China | ||
14:40 10mVision and Emerging Results | Multi-objective Optimization-based Bug-fixing Template Mining for Automated Program RepairVirtual NIER Track Misoo Kim Sungkyunkwan University, Youngkyoung Kim Sungkyunkwan University, Kicheol Kim SungKyunKwan University, Eunseok Lee Sungkyunkwan University | ||
14:50 20mResearch paper | StandUp4NPR: Standardizing Setup for Empirically Comparing Neural Program Repair SystemsVirtual Research Papers Wenkang Zhong State Key Laboratory for Novel Software and Technology, Nanjing University, 22 Hankou Road, Nanjing, China, Hongliang Ge State Key Laboratory for Novel Software and Technology, Nanjing University, 22 Hankou Road, Nanjing, China, Hongfei Ai State Key Laboratory for Novel Software and Technology, Nanjing University, 22 Hankou Road, Nanjing, China, Chuanyi Li State Key Laboratory for Novel Software Technology, Nanjing University, Kui Liu Huawei Software Engineering Application Technology Lab, Jidong Ge , Bin Luo Software Institute, Nanjing University |