缺陷4J

Defects4J:一个现有错误的数据库,用于Java程序的受控测试研究。软件测试研究中的经验研究可能不具有可比性、可重复性或实践特征。一个原因是真正的bug在软件测试研究中很少被使用。提取和复制真正的错误是一个挑战,因此手工播种的错误或突变体通常被用作替代品。本文介绍了Defects4J,一个数据库和可扩展的框架,它提供了真实的bug,使软件测试研究中的可重复研究成为可能。Defects4J的初始版本包含来自5个真实开源程序的357个真正的bug。每个真正的bug都有一个全面的测试套件,可以暴露(演示)该bug。Defects4J是可扩展的,建立在每个程序的版本控制系统之上。一旦在Defects4J中配置了一个程序,新的bug就可以添加到数据库中,而不费什么力气。Defects4J提供了一个框架,可以方便地访问有故障和已修复的程序版本以及相应的测试套件。该框架还为软件测试研究中的常见任务提供了一个高级接口,使经验研究的构建和重现变得容易。Defects4J可在http://Defects4J.org上公开获取。