数据集概述
本数据集包含采用C#编程语言编写的开源项目代码,针对长方法(Long Method)和大类(Large Class,文中亦称God Class)两种代码异味进行人工标注。每个标注实例由至少两名标注员独立完成,数据集包含标注结果及标注依据的启发式信息,共4个Excel文件,可用于代码异味检测模型训练与评估、代码质量分析等场景。
文件详解
- 代码异味标注结果文件
- 文件名称:DataSet_Large Class.xlsx、DataSet_Long Method.xlsx
- 文件格式:XLSX
- 字段映射介绍:包含Code Snippet ID(代码片段全称,类为命名空间+类名,方法为类名+方法签名)、Link(GitHub代码片段链接含提交版本与行号范围)、Code Smell(代码异味类型)、Project Link(标注的代码仓库版本链接)、Metrics(代码片段的度量指标,大类25项、长方法18项)、Final annotation(多数投票得出的最终严重程度评分)、Annotators(各标注员的严重程度评分)
- 标注启发式信息文件
- 文件名称:LargeClass_Heuristics.xlsx、LongMethod_Heuristics.xlsx
- 文件格式:XLSX
- 字段映射介绍:包含Code Snippet ID(与标注结果文件一致的代码片段ID)、Annotators(各标注员标注的启发式信息)、Heuristics(启发式是否适用于该代码片段的判断结果)
数据来源
论文“Towards a systematic approach to manual annotation of code smells”
适用场景
- 代码异味检测模型训练与评估: 用于训练和验证长方法、大类代码异味的自动检测模型,提升模型准确性。
- 代码质量分析研究: 分析C#开源项目中长方法与大类代码异味的分布特征、严重程度及影响因素。
- 标注方法论研究: 基于多标注员的标注结果,研究代码异味人工标注的一致性、可靠性及优化方法。
- 软件开发实践指导: 为开发者提供代码异味识别的参考案例,辅助代码重构与质量改进。