論文
『Python テストスメルが被テストコードの
バグ潜在性に及ぼす影響に関する定量分析』
の分析で使用したデータセット

論文タイトル: Python テストスメルが被テストコードのバグ潜在性に及ぼす影響に関する定量分析
投稿先: コンピュータソフトウェア
状態: 査読中
データ ファイル 説明
リポジトリURL,製品コード,テストコード,メトリクス測定値,テストスメル検出結果,並びにバグの有無をまとめたもの
(JSON 形式)
JSON 形式の辞書データであり, 以下の階層構造になっている.
  • 第 1 階層:リポジトリの URL(キー名は当該 URL)
    データ収集源となった Git リポジトリのURL
    • 第 2 階層:製品コードのパス(キー名は当該製品コードのパス)
      対応するテストコードが存在する製品コードのリポジトリ内でのファイルパス
      • 第 3 階層(1):コードメトリクス測定値(キー名 "prod_metrics")
        当該製品コードに対するコードメトリクス測定値一覧
        (参照:測定ツール Radon
        ただし,一部(Halsteadメトリクス)で以下の省略名を用いている:
        • v: volume
        • d: difficulty
        • e: effort
        • t: time
        • b: bugs
        あわせて,Maintainability Index (MI) の測定値については,
        • maintainability_index: radon.metrics.mi_parameters での count_multi を True とした結果
        • mi_raw: 上の引数を False にした結果
        なお,def_count 及び class_count は Radon を用いず,AST 解析でもって直接測定した結果である.
      • 第 3 階層(2):テストコード一覧(キー名 "test_files")
        当該製品コードをテストするテストコード一覧
      • 第 3 階層(3):テストコードに対するコードメトリクス測定値(キー名 "test_metrics")
        テストコードに対するコードメトリクス測定値一覧
        ただし,テストコードが複数存在する場合は,それぞれの測定値の平均となっている. (例外として,cc_max はそれらの最大値を採用している)
      • 第 3 階層(4):テストコードに対するテストスメル検出結果(キー名 "pynose_result")
        テストコードに対して検出されたテストスメル(件数)の一覧
        ただし,テストコードが複数存在する場合は,検出数を合計している.
      • 第 3 階層(5):当該製品コードでのバグの有無(キー名 "bug")
        バグあり 1,バグなし 0
各製品コードのメトリクスの取得に使用したコミットハッシュをまとめたもの
(JSON 形式)
JSON 形式の辞書データであり, 以下の階層構造になっている.
  • 第 1 階層:リポジトリの URL(キー名は当該 URL)
    データ収集源となった Git リポジトリのURL
    • 第 2 階層:製品コードのパス(キー名は当該製品コードのパス)
      対応するテストコードが存在する製品コードのリポジトリ内でのファイルパス
      • 第 3 階層:当該製品コードごとのコミットハッシュ
        当該製品コードがバグありと判断された場合はそのバグが修正された一番新しいマージコミットハッシュとそのベースコミットハッシュ
        バグなしと判断された場合は実験時の最新コミットハッシュ
(C) 2024-2025 Hirohisa Aman <aman (at) ehime-u.ac.jp> and Fushihara Yuki