GHPR Dataset
收藏github2024-04-29 更新2024-05-31 收录
下载链接:
https://github.com/feiwww/GHPR_dataset
下载链接
链接失效反馈官方服务:
资源简介:
GHPR数据集用于软件缺陷预测的实证研究和评估。该数据集基于GitHub上的Pull Requests(PRs)识别了3026个缺陷修复记录。每个缺陷修复被视为数据集中的一个记录,共有6052个学习实例,包括3026个缺陷实例和3026个非缺陷实例。数据集提供了CSV和SQL两种格式,包含16个特征,如项目名称、项目所有者、项目描述等。
The GHPR dataset is utilized for empirical research and evaluation in software defect prediction. This dataset identifies 3,026 defect-fixing records based on Pull Requests (PRs) from GitHub. Each defect fix is considered as a record in the dataset, comprising a total of 6,052 learning instances, which include 3,026 defect instances and 3,026 non-defect instances. The dataset is provided in both CSV and SQL formats and includes 16 features such as project name, project owner, and project description.
创建时间:
2019-10-01
原始信息汇总
GHPR 数据集概述
数据集描述
- 名称: GHPR 数据集
- 用途: 用于软件缺陷预测的实证研究和评估
- 记录数量: 3026 条基于 GitHub Pull Requests (PRs) 的缺陷修复记录
- 学习实例: 共6052个学习实例,包括3026个缺陷实例和3026个非缺陷实例
数据格式
- 文件格式: 提供两种格式的数据文件
ghprdata.csv: 适用于Python中的numpy或pandasghprdata.sql: 使用utf-8编码,适用于大型数据库
数据特征
- 记录特征: 每条记录包含16个特征,包括项目名称、项目所有者、项目描述、项目标签、项目编程语言、缺陷修复前后的版本ID、缺陷相关代码、提交描述、提交时间、缺陷修复前后的文件内容、文件路径变化、PR标题和描述等。
数据集指标
- 静态指标: 为6052个实例计算了21个静态指标,如耦合度、方法复杂度、继承深度、响应类、方法凝聚度等,这些指标通过开源工具mauricioaniche/ck计算。
引用信息
- 引用要求: 如在出版物中使用此数据集,请引用以下文献:
- 作者: Jiaxi Xu, Fei Wang, Jun Ai
- 期刊: IEEE Transactions on Reliability
- 标题: Defect Prediction With Semantics and Context Features of Codes Based on Graph Representation Learning
- 年份: 2021
搜集汇总
数据集介绍

构建方式
GHPR数据集的构建基于GitHub上的Pull Requests(PRs),通过对3026个与缺陷修复相关的PR进行识别和分析,形成了一个包含6052个学习实例的数据集。每个学习实例由缺陷文件版本和修复后的文件版本组成,分别代表缺陷和非缺陷实例。数据集的构建过程不仅考虑了代码的变更,还提取了与缺陷相关的代码片段、提交描述、时间戳等信息,确保了数据的全面性和准确性。
特点
GHPR数据集的显著特点在于其丰富的特征集,涵盖了项目名称、所有者、描述、标签、编程语言等基本信息,以及缺陷修复前后的代码内容、路径变化、PR标题和描述等详细信息。此外,数据集还计算了21个静态代码度量指标,如耦合度、复杂度、继承深度等,这些指标为软件缺陷预测提供了多维度的分析基础。
使用方法
GHPR数据集提供了CSV和SQL两种格式的数据文件,便于用户在不同环境中进行数据处理和分析。CSV格式适合使用Python中的numpy或pandas库进行快速读取和操作,而SQL格式则适用于处理大规模数据集。用户可以通过提取和分析数据集中的特征,结合机器学习算法进行软件缺陷预测模型的训练和评估。
背景与挑战
背景概述
GHPR数据集是一个专门用于软件缺陷预测的研究数据集,由Jiaxi Xu、Fei Wang和Jun Ai等研究人员于2021年创建。该数据集基于GitHub上的Pull Requests(PRs),通过识别3026个与缺陷修复相关的记录,构建了一个包含6052个学习实例的数据集。每个实例包含缺陷文件和修复后的文件版本,分别作为正负样本。GHPR数据集的构建旨在通过监督学习方法,提升软件缺陷预测的准确性和效率,对软件工程领域的研究具有重要意义。
当前挑战
GHPR数据集在构建过程中面临多项挑战。首先,从GitHub上提取和识别与缺陷修复相关的PRs需要复杂的自动化工具和算法,以确保数据的准确性和完整性。其次,数据集中包含的16个特征和21个静态指标的计算,涉及代码复杂度、依赖关系等多维度信息,这对特征提取和处理提出了高要求。此外,如何有效利用这些特征和指标进行缺陷预测模型的训练和评估,也是该数据集面临的重要挑战。
常用场景
经典使用场景
GHPR数据集在软件缺陷预测领域中具有广泛的应用,其经典使用场景主要体现在通过监督学习方法对软件代码中的缺陷进行识别和分类。数据集中的每个记录都包含了缺陷修复前后的文件版本,这些版本被视为学习实例,用于训练模型以区分缺陷代码和非缺陷代码。通过分析这些实例的特征,如代码的复杂度、耦合度等,研究者可以构建高效的缺陷预测模型,从而在软件开发过程中提前识别潜在的缺陷,提高软件质量。
实际应用
在实际应用中,GHPR数据集被广泛用于软件开发和维护过程中的自动化缺陷检测。通过集成到持续集成和持续交付(CI/CD)流程中,该数据集可以帮助开发团队在代码提交阶段自动识别潜在的缺陷,从而减少人工审查的工作量并提高代码质量。此外,GHPR数据集还可用于培训和验证新的缺陷预测算法,确保其在实际生产环境中的有效性和可靠性。
衍生相关工作
基于GHPR数据集,研究者们开发了多种新的缺陷预测模型和算法,特别是在结合图表示学习和语义分析方面取得了显著进展。例如,一些研究工作利用图神经网络(GNN)对代码结构进行建模,从而更准确地捕捉代码中的复杂关系和缺陷模式。此外,GHPR数据集还激发了在代码变更历史和上下文信息分析方面的深入研究,推动了软件工程领域在缺陷预测和代码质量管理方面的创新。
以上内容由遇见数据集搜集并总结生成



