一句话:提出多目标优化的修复模板挖掘方法,用9个代码抽象任务与3个目标函数提升模板适用性、可修复性与效率。
模板式自动程序修复(T-APR)的效果高度依赖缺陷修复模板的质量。高质量的模板需同时满足适用性、可修复性与效率三个标准,但现有模板挖掘方法仅以适用性为依据选择模板,导致整体修复性能次优。本文提出一种基于多目标优化的缺陷修复模板挖掘方法:以9个代码抽象任务和3个目标函数来估计模板质量,搜索能够最大化三个目标函数值的最优代码抽象策略(即抽象任务的最优组合),并对应用该最优抽象策略的候选模板进行聚类,从而生成最终的缺陷修复模板集。初步实验表明,与现有挖掘技术相比,该优化策略可将模板的适用性与效率分别提升7%和146%,说明基于多目标优化的模板挖掘技术能有效发现高质量缺陷修复模板。
Template-based automatic program repair (T-APR) techniques depend on the quality of bug-fixing templates. For such templates to be of sufficient quality for T-APR techniques to succeed, they must satisfy three criteria: applicability, fixability, and efficiency. Existing template mining approaches select templates based only on the first criteria, and are thus suboptimal in their performance. This study proposes a multi-objective optimization-based bug-fixing template mining method for T-APR in which we estimate template quality based on nine code abstraction tasks and three objective functions. Our method determines the optimal code abstraction strategy (i.e., the optimal combination of abstraction tasks) which maximizes the values of three objective functions and generates a final set of bug-fixing templates by clustering template candidates to which the optimal abstraction strategy is applied. Our preliminary experiment demonstrated that our optimized strategy can improve templates’ applicability and efficiency by 7% and 146% over the existing mining technique, respectively. We therefore conclude that the multi-objective optimization-based template mining technique effectively finds high-quality bug-fixing templates.
@inproceedings{paperbot7323,
title = {Multi-objective Optimization-based Bug-fixing Template Mining for Automated Program Repair},
author = {Misoo Kim and Youngkyoung Kim and Kicheol Kim and Eunseok Lee},
booktitle = {ASE},
year = {2022},
doi = {10.1145/3551349.3559554}
}