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