BugSwarm:挖掘并持续生长可复现失败与修复数据集
软件工程
2019-07-24 v2
摘要
故障检测、定位与修复方法对软件质量至关重要;但难以评估其通用性、适用性与当前有效性。大型、多样、真实的持久可复现故障与修复数据集对软件质量方法的良好实验评估必不可少,但此类集的组装与保持更新困难且昂贵。现代持续集成(CI)方法,如 Travis-CI,被广泛使用、完全可配置且在定制容器中执行,为更大型缺陷数据集提供了路径。若能识别并归档失败及随后的成功运行,这些容器将大幅保证构建与测试在未来持久可复现。然而,要使之成为现实须克服若干障碍。我们描述了 BugSwarm,一个导航这些障碍以实现可扩展、多样、真实、持续生长的持久可复现真实开源系统失败与成功版本集的工具集。BugSwarm 工具包已收集 3,091 个失败-通过对,涵盖 Java 与 Python,均打包于完全可复现容器中。此外,该工具包可周期性运行以检测失败-通过活动,从而持续生长数据集。
引用
@article{arxiv.1903.06725,
title = {BugSwarm: Mining and Continuously Growing a Dataset of Reproducible Failures and Fixes},
author = {David A. Tomassi and Naji Dmeiri and Yichen Wang and Antara Bhowmick and Yen-Chuan Liu and Premkumar Devanbu and Bogdan Vasilescu and Cindy Rubio-González},
journal= {arXiv preprint arXiv:1903.06725},
year = {2019}
}
备注
In Proceedings of the 41st ACM/IEEE International Conference on Software Engineering (ICSE'19)