发布于 

Generating Duplicate Bug Datasets

  • 论文下载地址: 下载链接
  • 作者: Alina Lazar, Sarah Ritchey, Bonita Sharif
  • 期刊: Proceedings of the 11th working conference on mining software repositories
  • Affiliation: 亚利桑那州立大学
  • 发表年份: 2014年
  • 关键词: Duplicate Bug Reports, Duplicate Bug Pairs, Data Repositories

摘要

在挖掘软件仓库领域,自动识别重复缺陷报告是一个重要的研究问题。本文介绍了一组从使用Bugzilla作为缺陷跟踪组件的开源系统中提取、清理和预处理的缺陷数据集,用于解决重复缺陷报告的问题。这些系统包括Eclipse、Open Office、NetBeans和Mozilla。对于每个数据集,我们在MongoDB文档型数据库中分别存储了原始数据和清理后的数据。除了从缺陷仓库下载的缺陷数据集外,数据库还包括一组所有的重复缺陷对以及随机选择的非重复缺陷对。这样的数据集对于分类模型的输入非常有用,并为其他研究人员的复制和比较提供了良好的基础。我们使用了这些数据的子集来预测重复缺陷报告,但同样的数据集也可以用于预测缺陷的优先级和严重性。文章还讨论了文本数据库、数据挖掘等相关主题,并提供了关键词和一般术语。该数据集为解决软件系统中的重复缺陷报告问题提供了重要的工具和资源,同时也指出了在处理数据大小和方法限制方面的挑战。

创新点与借鉴点

  1. 数据集提供了一组经过清理和预处理的缺陷数据,用于解决重复缺陷报告的识别问题。
  2. 引入了数据库方法来存储和管理数据,相比于以往依赖文本相似性的方法,提供了更为规范化的数据集。
  3. 解决了循环引用问题,通过指定最早提交的缺陷为主缺陷,有效地处理了数据集中的特殊情况。
  4. 生成了所有可能的重复缺陷对,而不仅仅是包含主要缺陷的对,以提升机器学习模型的性能。
  5. 采用了MongoDB文档型数据库来存储数据,这种方法可以在大规模数据处理方面提供高效性能。
  6. 使用Scrapy和Python脚本等工具来实现数据清洗、预处理和对重复缺陷的处理,为后续类似研究提供了可参考的方法。

总结

  • (1): 本文的研究背景是关于在软件仓库挖掘领域中识别重复缺陷报告的问题。
  • (2): 过去的方法主要依赖于文本相似性来识别重复缺陷,但存在一些问题,如数据不一致性和不足以进行公平比较。本文的方法基于数据库,旨在为研究人员提供规范化的数据集,支持二元分类模型,以更好地识别重复缺陷。
  • (3): 本文提出的研究方法涵盖数据清洗、预处理和生成重复缺陷对等等多个步骤。这些步骤包括标记重复缺陷、处理循环问题、过滤"OPEN"状态的缺陷等。为了改善机器学习结果,还生成了所有可能的重复缺陷对,而不仅仅是包含主要缺陷的对。使用了工具如Scrapy和Python脚本。
  • (4): 本文的方法旨在识别重复缺陷,虽然未提供具体性能数值,但提供了规范化的数据集,可以用于二元分类,有望优于以前的方法。该数据集对解决软件系统中的重复缺陷问题具有潜在价值,也可能用于预测缺陷的严重性和优先级。