five

BDD corpus

收藏
github2026-04-25 更新2026-04-26 收录
下载链接:
https://github.com/amughalbscs16/cukereuse-release
下载链接
链接失效反馈
官方服务:
资源简介:
该仓库包含一个由347个公共GitHub仓库中的1.11M Gherkin步骤组成的语料库,以及一个1020对标记的校准集。这些数据集用于静态检测重复和近似重复的步骤文本,支持多种编程语言的Cucumber和Gherkin测试框架。

This repository contains a corpus of 1.11 million Gherkin steps sourced from 347 public GitHub repositories, along with a calibration set that includes 1020 labeled pairs. These datasets are utilized for static detection of duplicate and near-duplicate step texts, and support Cucumber and Gherkin testing frameworks compatible with multiple programming languages.
创建时间:
2026-04-22
原始信息汇总

好的,根据您提供的数据集详情页面地址和README文件内容,以下是该数据集的概述。

数据集概述:cukereuse 及 Gherkin 步骤语料库

此仓库包含了 cukereuse 工具及其配套的 Gherkin 步骤语料库,用于检测 Cucumber 和 Gherkin 语言中的重复步骤。

核心组件

  • cukereuse 工具:一个静态检测器,用于发现 .feature 文件中重复或近似重复的步骤文本。它支持多种框架(Cucumber-JVM, behave, pytest-bdd, Cucumber-Ruby, cucumber-js, SpecFlow, Behat),无需执行测试。
  • Gherkin 步骤语料库:一个包含 1,113,616 个 Gherkin 步骤的语料库,来自 347 个公共 GitHub 仓库与 23,667 个已解析的 .feature 文件。
  • 标记校准集:一个由三位作者手动标记的、包含 1,020 对步骤对的校准集,并附有书面的标记规范。

关键数据与指标

  • 总体重复率:整个语料库的步骤加权精确重复率为 80.2%
  • 中位数仓库重复率:仓库的重复率中位数为 58.6%
  • 最大重复簇:使用混合策略检测到的最大重复簇为“the response status is 200 OK”,跨 43 个仓库的 2,245 个文件,共出现 20,737 次。
  • 最佳检测器:在成对分类任务中,基于 Levenshtein 距离的 near-exact 策略表现最佳。

语料库内容

corpus/ 目录提供了各种分析制品(共 46 MB),包括:

  • steps.parquet:包含每个步骤及其元数据(如仓库、文件路径、许可证)。
  • clusters_exact.parquetclusters_hybrid.parquet:精确重复与混合策略下的重复簇信息。
  • labeled_pairs.jsonl:1,020 对已标记的步骤对。
  • LABELING_RUBRIC.md:标记时使用的 10 条规则。
  • 脚本rehydrate.py 可按需从源仓库获取原始的 .feature 文件。
搜集汇总
数据集介绍
main_image_url
构建方式
BDD语料库(BDD corpus)的构建依托于对GitHub上公开仓库的系统性挖掘与筛选。研究者首先利用GitHub API,以最小星标数10为门槛,挖掘出347个采用Cucumber及Gherkin框架的行为驱动开发(BDD)仓库。随后,通过稀疏克隆技术仅提取仓库中的.feature文件,避免了完整仓库体积过大带来的冗余。借助自定义解析脚本,这些文件被结构化为包含步骤文本、所属仓库、提交哈希、文件路径等元数据的parquet格式,最终汇聚成包含1,113,616条Gherkin步骤的庞大数据集。此外,为验证检测工具的有效性,研究者从语料中精心抽取了1,020对步骤,依据一套包含10条规则的书面评分标准,由三位作者独立标注,构建了用于校准与评估的黄金标准数据集。
特点
该数据集的核心特点在于其规模宏大与结构严谨。它囊括了超过111万条来自不同开源项目的Gherkin步骤,覆盖Java、Python、Ruby、JavaScript、.NET及PHP等多种语言生态下的BDD框架,展现了跨语言、跨项目的多样化特征。数据集不仅提供了原始步骤,还预计算了精确重复与基于释义的混合聚类结果,生成了数万个聚类簇,直接揭示了BDD实践中普遍存在的步骤重复问题,其加权步骤重复率高达80.2%。尤为珍贵的是,数据集附带了一个经过严格标注的1,020对校准集,标注者间Fleiss' κ系数达到0.84,确保了评判标准的高度一致性,为后续的重复检测研究提供了可靠的基准。
使用方法
使用BDD语料库时,研究者或工程师需先通过git clone命令获取配套的cukereuse工具包,并利用uv sync命令安装依赖。语料库的核心分析产物以parquet和JSONL格式存储于corpus目录下,可直接通过数据科学工具如Pandas加载steps.parquet进行统计分析。若要复现完整的研究流程,可依次运行脚本目录下的mine_github.py、clone_features.py及build_corpus.py等脚本,从原始挖掘到聚类分析全链路可追溯。工具还提供了rehydrate.py脚本,用于按需从上游仓库的指定提交SHA获取原始的.feature文件内容,从而在遵守上游许可协议的前提下支持更深层次的代码分析。
背景与挑战
背景概述
BDD corpus数据集由Ali Hassaan Mughal、Noor Fatima和Muhammad Bilal于2026年创建,聚焦于行为驱动开发(BDD)中Cucumber与Gherkin场景步骤的重复检测问题。该数据集从347个公开GitHub仓库中提取了逾111万条Gherkin步骤,覆盖Java、Python、Ruby、JavaScript、.NET及PHP六大主流BDD框架。其核心研究问题在于:当自然语言表述的BDD步骤通过同义改写、参数变异等方式在大型套件中无序繁殖时,如何实现跨仓库的精确与近重复检测。通过构建带有1,020对人工标注校准集与10条标注规范的基准测试,该数据集为测试工件质量领域提供了首个大规模、多语言、可复现的重复检测研究平台,相关成果已发表于arXiv并投稿至《Software Quality Journal》。
当前挑战
该数据集面临的挑战具有双重维度。领域问题层面,BDD步骤的重复检测面临自然语言同义性与编程语言参数化的复合复杂性:同一行为可被数十种措辞表达(如'response status is 200 OK'与其变体),而精确匹配算法无法覆盖语义等效但词形不同的步骤,导致套件中步骤加权重复率高达80.2%,中位仓库重复率达58.6%。构建挑战层面,原始.feature文件因继承上游仓库的版权义务而无法直接分发,需采用稀疏克隆机制动态获取;同时,从逾110万步骤中构建语义聚类的混合检测策略面临阈值校准难题——需要平衡精确近重复检测(Levenshtein距离)与语义泛化(SBERT余弦相似度)的协同效果,避免纯语义聚类引发的传递性链式归并错误,最终在1,020对人工标注集上实现了F₁=0.822的评分无关最优检测性能。
常用场景
经典使用场景
在行为驱动开发(BDD)与Cucumber生态系统中,BDD corpus数据集最经典的使用场景是作为大规模Gherkin步骤语料库,用于检测和分析步骤文本中的重复与近似重复模式。该数据集包含来自347个公共GitHub仓库的超过111万条Gherkin步骤,研究者可基于此开展代码克隆检测、自然语言测试脚本质量评估以及BDD特定工具的性能基准测试。通过关联的cukereuse静态分析工具,用户能够执行精确匹配、莱文斯坦距离近似匹配以及基于语义嵌入的混合匹配策略,从而系统性地识别出跨仓库、跨文件的高度重复步骤群组,为后续的测试套件重构与维护提供数据支撑。
衍生相关工作
BDD corpus数据集及其研究方法已衍生出多项具有影响力的后续工作。其核心检测策略(精确匹配、近精确匹配、语义匹配与混合匹配)被后续研究者作为基线方法,用于比较与评估新型BDD测试克隆检测算法的有效性。数据集提供的1020对人工标注样本及10条标注准则,已成为BDD测试重复性研究的基准测试集,推动了对Gherkin语言缺陷的系统性批判(CDN分析揭示14个维度中8个存在问题)。此外,该数据集催生了对跨框架(Cucumber-JVM、behave、pytest-bdd、SpecFlow等)步骤复用的实证调查,并启发了基于语义相似度的BDD步骤统一命名与自动重构工具的开发,进一步丰富了软件质量保证领域的工具箱。
数据集最近研究
最新研究方向
在行为驱动开发(BDD)与Cucumber/Gherkin框架的持续演进中,测试用例的重复检测与质量保证已成为关键挑战。BDD corpus数据集通过构建包含347个公共GitHub仓库、超过110万条Gherkin步骤的语料库,为面向自然语言文本的克隆检测技术提供了前所未有的研究基准。该数据集的最新研究聚焦于利用混合策略(语义相似度与编辑距离结合)实现大规模步骤文本的重复与近重复检测,其核心发现揭示了高达80.2%的步骤级重复率,并指出仓库规模与重复率之间存在显著正相关(斯皮尔曼ρ=0.508)。伴随发布的cukereuse工具作为一套静态检测系统,无需执行测试即可跨多种BDD框架(如Cucumber-JVM、behave、SpecFlow等)运行,为测试套件维护者提供了从重复识别到规范化建议的全链路支持。该研究不仅系统评估了四种检测策略(精确匹配、近精确匹配、语义匹配及混合策略)的性能,还通过基于10条规则的手动标注基准(包含1020对样本)和两轮不同评估协议验证了方法的可靠性,为BDD场景下的测试质量提升与工具链优化提供了实证基础。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作