five

BugsJS bug dataset

收藏
github2024-05-09 更新2024-05-31 收录
下载链接:
https://github.com/BugsJS/bug-dataset
下载链接
链接失效反馈
官方服务:
资源简介:
该数据集包含了BugsJS基准测试的数据文件和实用框架,涵盖了10个不同项目的bug数据,包括Bower、Eslint、Express等。每个项目的数据包括bug的测试信息、测试运行命令和bug报告。

This dataset encompasses the data files and utility framework of the BugsJS benchmark, covering bug data from 10 distinct projects, including Bower, Eslint, Express, among others. For each project, the data includes test information for bugs, commands for running tests, and bug reports.
创建时间:
2018-10-15
原始信息汇总

BugsJS bug dataset 概述

数据集内容

包含项目

数据集包含以下10个项目的bug数据:

  • Bower
  • Eslint
  • Express
  • Hessian.js
  • Hexo
  • Karma
  • Mongoose
  • Node-redis
  • Pencilblue
  • Shields

项目目录结构

每个项目在Projects目录下有对应的子目录,包含以下文件:

  • [project]_bugs.csv: 每个bug的测试预计算信息。
  • [project]_commands.csv: 每个bug所需的测试运行命令。
  • [project]_issues.bin: 使用Googles Protocol Buffers格式保存的bug报告。

特殊说明

  • Node-redis项目的测试需要ipv6支持。
  • Eslint项目的测试覆盖数据因大小(3GB)单独存储。

数据集使用命令

数据集提供的命令行框架包含以下命令:

  • info: 打印特定bug的信息。
  • checkout: 检出特定bug的源代码。
  • test: 运行特定bug的所有测试并测量测试覆盖率。
  • per-test: 单独运行每个测试并测量测试覆盖率。

用户在使用checkout, test, 和 per-test命令时,可以指定代码修订版本:

  • buggy: bug修复前的父提交。
  • fixed-only-test-change: 仅包含bug修复提交中引入的测试的修订。
  • fixed: 包含清理后的修复和新增测试的修订。

示例命令:

python3 main.py -p Bower -b 1 -t checkout -v fixed -o output/

搜集汇总
数据集介绍
main_image_url
构建方式
BugsJS bug dataset的构建基于对10个开源JavaScript项目的深入分析,涵盖了Bower、Eslint、Express等项目。每个项目的子目录中包含了详细的bug信息,包括测试信息、测试运行命令以及使用Google Protocol Buffers格式存储的bug报告。特别地,Eslint项目的测试覆盖数据由于其庞大的体积(3GB),被单独存储于外部存储中。
特点
该数据集的显著特点在于其全面性和细致性。它不仅提供了每个bug的预计算测试信息,还包含了运行测试所需的命令,以及详细的bug报告。此外,数据集支持对bug的不同代码修订版本进行操作,包括buggy版本、仅包含测试变更的fixed版本以及完全修复的版本,这为研究者提供了灵活的实验环境。
使用方法
使用BugsJS bug dataset时,用户可以通过命令行接口执行多种操作,如获取bug信息、检出源代码、运行测试并测量覆盖率等。例如,用户可以指定特定的代码修订版本(如buggy、fixed-only-test-change或fixed)来执行测试。这种灵活的操作方式使得该数据集非常适合用于软件工程领域的研究,特别是bug修复和测试覆盖率分析。
背景与挑战
背景概述
BugsJS bug dataset 是由一组研究人员或机构创建的,旨在为软件工程领域提供一个全面的JavaScript项目缺陷数据集。该数据集涵盖了10个知名的开源JavaScript项目,包括Bower、Eslint、Express等,这些项目在现代Web开发中具有广泛的应用。通过收集和整理这些项目的缺陷信息,BugsJS不仅为研究人员提供了一个标准化的基准,还为开发者提供了宝贵的资源,以帮助他们理解和修复软件中的缺陷。该数据集的核心研究问题是如何有效地识别和分析JavaScript项目中的缺陷,从而提高软件质量和可靠性。
当前挑战
BugsJS bug dataset 在构建过程中面临了多项挑战。首先,收集和整理来自多个开源项目的缺陷数据需要处理不同项目的版本控制系统和缺陷报告格式,这增加了数据集构建的复杂性。其次,某些项目的测试数据规模庞大,如Eslint项目的测试覆盖数据达到3GB,这不仅增加了存储和传输的难度,还对数据处理效率提出了更高的要求。此外,确保数据集的准确性和一致性也是一个重要挑战,特别是在处理复杂的代码修订和测试覆盖信息时。这些挑战共同构成了BugsJS在推动软件工程研究中的重要课题。
常用场景
经典使用场景
BugsJS bug dataset 主要用于软件工程领域的缺陷分析与测试优化。该数据集包含了来自10个流行Node.js项目的缺陷信息,涵盖了从缺陷报告到测试覆盖率数据的全面记录。研究者可以利用这些数据进行缺陷定位、测试用例生成以及代码修复策略的评估。通过分析不同项目的缺陷模式,研究者能够开发出更高效的自动化测试工具和缺陷修复算法。
解决学术问题
BugsJS bug dataset 解决了软件工程领域中关于缺陷定位和测试优化的多个关键问题。该数据集通过提供详细的缺陷报告和测试覆盖率数据,帮助研究者深入理解缺陷的产生机制和修复过程。此外,数据集还支持研究者评估不同测试策略的有效性,从而推动自动化测试和缺陷修复技术的发展。这对于提升软件质量和开发效率具有重要的学术意义。
衍生相关工作
基于 BugsJS bug dataset,研究者们开展了多项相关工作,包括缺陷定位算法的改进、测试用例生成的优化以及代码修复策略的研究。例如,有研究利用该数据集开发了新的缺陷定位技术,显著提高了缺陷检测的准确率。此外,还有研究通过分析数据集中的测试覆盖率数据,提出了更高效的测试用例生成方法。这些工作不仅丰富了软件工程领域的研究内容,也为实际应用提供了有力的技术支持。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作