中文

基于静态提取代码特征的过拟合补丁自动分类

软件工程 2021-08-09 v2

摘要

自动程序修复(APR)旨在降低人工修复软件缺陷的成本。然而,APR常生成大量过拟合补丁,即那些仅使测试通过却未能正确修复缺陷的补丁。本文提出一种新颖的过拟合补丁检测系统ODS,以评估APR补丁的正确性。ODS首先静态比较打补丁程序与缺陷程序,从而在抽象语法树(AST)层级提取代码特征。随后,ODS利用捕获的代码特征与补丁正确性标签进行有监督学习,自动学习一个概率模型。最终可将习得的ODS模型应用于分类新的未见程序修复补丁。我们基于来自Defects4J、Bugs.jar与Bears基准的10,302个补丁开展大规模实验,评估ODS在补丁正确性分类上的有效性。实证评估显示,ODS能正确分类来自26个项目的71.9%的程序修复补丁,优于最先进水平。ODS可实际适用,并可作为后处理流程用于分类不同APR系统生成的补丁。

关键词

引用

@article{arxiv.1910.12057,
  title  = {Automated Classification of Overfitting Patches with Statically Extracted Code Features},
  author = {He Ye and Jian Gu and Matias Martinez and Thomas Durieux and Martin Monperrus},
  journal= {arXiv preprint arXiv:1910.12057},
  year   = {2021}
}