バグ予測に基づく最適なテストケース数の配分を決定するための問題の定式化を行い,その解法を明らかにした.本問題の入力は,総テストケース数,各モジュールの特徴量(規模,条件分岐数,サイクロマティック数など),バグ予測結果(各モジュールの潜在バグ数の予測値)であり,各モジュールの期待バグ発見数の和を最大化することが目的関数となる.定式化にあたっては,テストケース数と発見バグ数との関係を指数型SRGM(Software Reliability Growth Model)にモジュール規模や複雑さをパラメータとして加えたモデル式を採用した.本問題を分離凸資源配分問題として解くことが可能であることを示し,greedy法により最適解が得られることを確認した. また,バグ予測には誤差が含まれることが避けられないことから,バグ予測を行わない場合のテストケース配分法について検討し,バグ予測を行う場合の方法との組み合わせ戦略を提案するとともに,その効果について評価を行った. さらに,バグ予測が有効となるコンテキストを明らかにするために,与えられたデータセットに対し,テスト工数削減量の最大値を推定する方法を提案し,その適用実験を行った.また,多数のデータセットを対象として,バグ偏在の度合いと期待されるバグ予測精度との関係についての分析を行った.これにより,過去の実績値に基づいてテスト工数削減量の期待値を推定することが可能となった. 以上の成果により,テスト工数削減の効果を見積もることが可能となり,バグ予測技術の採用が促進されると期待される.
|