中文

ObjSim:基于对象相似度的轻量级自动补丁优先级排序

软件工程 2020-06-11 v1

摘要

在基于测试用例的自动程序修复(APR)语境中,通过所有测试用例却未能修复缺陷的补丁称为过拟合补丁。当前,APR 工具生成的补丁由用户手动检查以发现并采纳真正修复。作为阻碍 APR 广泛采用的费力活动,过拟合补丁的自动识别近来成为活跃研究课题。本文给出 ObjSim 的工程细节:一个面向基于 JVM 语言的、完全自动、轻量级的基于相似度的补丁优先级排序工具。该工具通过比较打补丁方法在修补前后于出口点的系统状态,并优先排序那些在通过测试上产生与原始未修补版本更相似、而在失败测试上较不相似状态的补丁。我们使用近期 APR 工具 PraPR 针对来自 Defects4J v1.4.0 可修复缺陷生成的补丁所做的实验表明,ObjSim 在 top-1 位置多优先排序了 16.67% 的真正修复。工具演示视频位于 https://bit.ly/2K8gnYV。

关键词

引用

@article{arxiv.2006.04911,
  title  = {ObjSim: Lightweight Automatic Patch Prioritization via Object Similarity},
  author = {Ali Ghanbari},
  journal= {arXiv preprint arXiv:2006.04911},
  year   = {2020}
}

备注

Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA '20), July 18--22, 2020, Virtual Event, USA