TransplantFix: Graph Differencing-based Code Transplantation for Automated Program Repair
Abstract
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.
BibTeX
@inproceedings{Yang-al:ASE22,
author = {Deheng Yang and
Xiaoguang Mao and
Liqian Chen and
Xuezheng Xu and
Yan Lei and
David Lo and
Jiayu He},
title = {{TransplantFix:} Graph Differencing-based Code Transplantation for Automated Program Repair},
booktitle = {ASE},
pages = {107:1--107:13},
publisher = {{ACM}},
year = {2022},
}