1.1M件のBDDステップで重複を見つける:cukereuse――Cucumber/Gherkin向けのパラフレーズ耐性スタティック検出器

arXiv cs.CL / 2026/4/23

📰 ニュースDeveloper Stack & InfrastructureIdeas & Deep AnalysisTools & Practical UsageModels & Research

要点

  • 本論文では、cukereuseというオープンソースのPython CLIを提案し、テスト実行なしの純粋なスタティック手法で、任意のリポジトリにあるCucumber/Gherkinステップの重複をパラフレーズに頑健に検出できるとします。
  • cukereuseは、完全一致ハッシュ、Levenshtein比、sentence-transformer埋め込みを段階的(レイヤード)に組み合わせており、公開には大規模コーパス(347のGitHubリポジトリ、23,667の.featureファイル、1,113,616のGherkinステップ)も含めています。
  • 重複率の実測では、ステップ重み付きの完全一致重複率が80.2%、リポジトリ中央値の完全一致重複率が58.6%であり、最大のハイブリッドクラスタは2.2kファイルにまたがる20.7k件の出現を含むと報告しています。
  • 3名の著者が公開ルーブリックに従って手動ラベル付けした1,020ペアの評価では、インターアノテータ一致が高い(Fleiss’ kappa = 0.84)ことを前提に、ペア単位での性能(F1など)を提示し、近似一致でF1約0.822、主要ルーブリックのセマンティックF1は約0.906だが、主にリコールが1.000に固定される層化アーティファクトで結果が膨らむ可能性に言及しています。
  • さらに検出手法の範囲を超えて、CDN(Cognitive Dimensions of Notations)に基づくGherkinの批評を行い、14の次元中8つが問題ありまたは十分に支持されていないと主張し、ツール・コーパス・ラベル・ルーブリック・パイプラインを寛容なライセンスで公開すると述べています。

要旨: 振る舞い駆動開発 (BDD) スイートは、先行研究でその保守コストが示されているステップ文言の重複を蓄積する。既存の検出手法はテストの実行を必要とする(Binamungu ら, 2018-2023)か、単一の組織に限定されている(Irshad ら, 2020-2022)。この結果、生じるギャップは、どのリポジトリでも利用できる純粋に静的で、言い換えに頑健な、ステップレベルの検出器である。我々はこのギャップを、オープンソースの Python CLI である cukereuse で埋める。これは、層状のパイプラインにおいて厳密ハッシュ、Levenshtein 比、および文埋め込み(sentence-transformer embeddings)を組み合わせており、さらに 347 の公開 GitHub リポジトリからなる経験的コーパス、23,667 個の解析済み .feature ファイル、および 1,113,616 個の Gherkin ステップとともに公開されている。重み付けされた厳密重複率は 80.2 %、リポジトリ中央値の率は 58.6 %(サイズに対して Spearman rho = 0.51)である。上位のハイブリッド・クラスターは、2.2k ファイルにまたがって 20.7k 件の出現をまとめる。公開されたルーブリックのもとで 3 名の著者が手作業でラベル付けした 1,020 組に対して(注釈者間の Fleiss' カッパ = 0.84、60 組の重複において)、2 つのプロトコル、すなわち主要ルーブリックとスコアなしの第 2 パスによる再ラベリングにより、適合率、再現率、および F1 をブートストラップの 95 % CI とともに報告する。最も強い正直な(honest)ペアレベルの数値は、スコアなしラベルでのほぼ厳密一致で F1 = 0.822 である。主要ルーブリックの意味 F1 = 0.906 は、再現率を 1.000 に固定してしまう階層化(stratification)のアーティファクトによって膨張している。語彙ベースライン(SourcererCC 型、NiCad 型)は、それぞれ主要 F1 = 0.761 および 0.799 に到達する。この論文はまた、Gherkin に対する CDN 構造の批評(Notations の Cognitive Dimensions)も提示している。14 の次元のうち 8 つが問題あり、または未サポートと評価されている。そのツール、コーパス、ラベル付けされたペア、ルーブリック、およびパイプラインは、許容的ライセンスのもとで公開される。

1.1M件のBDDステップで重複を見つける:cukereuse――Cucumber/Gherkin向けのパラフレーズ耐性スタティック検出器 | AI Navigate