生成与验证补丁生成系统的搜索空间分析
软件工程
2016-02-19 v1
摘要
我们提出对自动补丁生成系统的补丁搜索空间特征的首次系统分析。我们分析了两个当前最先进系统 SPR 和 Prophet 的搜索空间,采用16种不同的搜索空间配置。我们的结果源自对1104个不同搜索空间和768次补丁生成执行的分析。这些实验合计在 Amazon EC2 上消耗超过9000小时 CPU 时间。分析表明:1) 正确补丁在搜索空间中稀疏(通常每个缺陷每个搜索空间至多一个正确补丁),2) 虽通过验证测试套件中所有测试用例但不正确的补丁通常数量级上更丰富,3) 因此利用测试套件之外的信息对于使系统成功隔离正确补丁至关重要。我们还刻画了搜索空间结构中的关键权衡。包含更多缺陷正确补丁的更大更丰富的搜索空间实际上可能导致系统找到更少而非更多的正确补丁。我们指出此现象的两个原因:1) 由于更多候选补丁存在导致验证时间增加,2) 更多通过测试套件并阻碍发现正确补丁的不正确补丁。这些基本性质均本文首次刻画,有助于解释为何过去系统常失败于生成正确补丁,并有助于确定该领域的挑战、机遇和富有成效的未来方向。
引用
@article{arxiv.1602.05643,
title = {An Analysis of the Search Spaces for Generate and Validate Patch Generation Systems},
author = {Fan Long and Martin Rinard},
journal= {arXiv preprint arXiv:1602.05643},
year = {2016}
}