コンテンツにスキップ

2025年9月6日

今週の活動

  • Just-in-Time Software Defect Prediction(JIT-SDP)についての論文を読んだ
    • 概要
      • JIT-SDPに関する初の体系的なサーベイ論文
      • コミット単位で欠陥の発生を予測する新しいアプローチであるJIT-SDPの文献レビューを実施
      • 今後の研究課題
        • アプリケーションドメインの特化: 用途に応じてモデルを最適化
        • 不確実性の定量化: 予測の信頼度を評価
        • 説明可能性の向上: なぜ欠陥が生じると予測されるのかを説明
        • 労力を考慮した予測: QAの労力を減らすために労力の測定方法を改善
        • 欠陥と障害の関係の解明: どの種類の欠陥がより障害に繋がりやすいのかを分析
    • 達成できたこと
      • JIT-SDPに関する67件の研究を包括的に調査し、JIT-SDPの現状を明確化
      • データソースから評価までの、JIT-SDPワークフローの各段階におけるベストプラクティスを体系化
      • メタ分析により、JIT-SDPモデルの予測性能がプロジェクトの変更欠陥率と比例関係にあることを定量的に示した
      • 今後の研究の方向性として、5つの具体的な研究アイデアを提案
    • 達成できなかったこと
      • 評価指標が異なるアプローチ間の性能を比較しなかった
      • ソフトウェアプロジェクト間においてJIT-SDPモデルの予測性能がどの程度変化するかを検証しなかった

得られた成果

  • JIT-SDP研究の大まかな種類を整理
    • これまでに行われた研究
      • 予測対象による分類
        • 特定のコミットにおいて欠陥が発生するかどうかを予測するもの
        • 欠陥発生リスクを順位付けし、QAの労力を削減するための活動を提案するもの
      • 学習データの範囲による分類
        • プロジェクト内予測: 同一プロジェクト内でモデルを訓練し、予測を実行
        • プロジェクト間予測: 他のプロジェクトのデータでモデルを訓練し、対象のプロジェクトで予測を実行
      • 学習方式による分類
        • 教師あり学習
        • 教師なし学習
      • 手法の複雑さによる分類
        • 単純なモデル: 解釈可能性を重視(例: ロジスティック回帰)
        • 複雑なモデル: 予測性能を重視(例: アンサンブル学習、深層学習)

直面した課題

  • コンテキスト要因から因果関係を推測することが難しい
    • 例えば、プロジェクトの欠陥変更比率が高いほどとF1スコアが高くなり、コミット数が多いほどF1スコアが低くなる傾向があることが先行研究で示されているが、どうしてそのような関係が見られるのかは不明
    • コンテキスト要因のより詳細な分析が必要であるのは確かだが、コンテキスト要因と欠陥発生確率の対応関係を示すだけでは因果関係を明らかにしたことにはならない

来週の計画

  • 先行研究で調査されたコンテキスト要因を整理