一句话:提出 BugSwarm 工具集,从 CI 构建中挖掘可复现的失败-通过版本对并持续增长数据集。
论文针对软件质量中故障检测、定位与修复方法缺乏大规模、多样、真实且可持久复现的故障与修复数据集的问题。利用 Travis CI 等持续集成环境在自定义容器中执行构建与测试的特点,BugSwarm 克服识别、归档失败及后续通过运行等障碍,构建可扩展、持续增长的数据集。已收集 3,091 对 Java 和 Python 的 fail-pass 对,均封装在完全可复现容器中,并可定期运行以检测新的失败-通过活动,从而持续扩展。
Fault-detection, localization, and repair methods are vital to software quality; but it is difficult to evaluate their generality, applicability, and current effectiveness. Large, diverse, realistic datasets of durably-reproducible faults and fixes are vital to good experimental evaluation of approaches to software quality, but they are difficult and expensive to assemble and keep current. Modern continuous-integration (CI) approaches, like TRAVIS-CI, which are widely used, fully configurable, and executed within custom-built containers, promise a path toward much larger defect datasets. If we can identify and archive failing and subsequent passing runs, the containers will provide a substantial assurance of durable future reproducibility of build and test. Several obstacles, however, must be overcome to make this a practical reality. We describe BUGSWARM, a toolset that navigates these obstacles to enable the creation of a scalable, diverse, realistic, continuously growing set of durably reproducible failing and passing versions of real-world, open-source systems. The BUGSWARM toolkit has already gathered 3,091 fail-pass pairs, in Java and Python, all packaged within fully reproducible containers. Furthermore, the toolkit can be run periodically to detect fail-pass activities, thus growing the dataset continually.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@inproceedings{abs-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 T. Devanbu and Bogdan Vasilescu and Cindy Rubio-Gonzalez},
booktitle = {ICSE},
year = {2019},
doi = {10.1109/icse.2019.00048}
}