+ ICSE’13 勉強会 Session H : Test-Case Selection 2013年7日9日(火) NTT朱色のチーム + H1 : Comparing Multi-point Stride Coverage and Dataflow Coverage Md. Mahdi Hassan and James H. Andrews University of Western Ontario, Canada 発表者:株式会社NTTデータ 井ノ口 伸人 + 研究の目的と主要な貢献 3 研究の目的 制御フローカバレッジ (Control Flow Coverage, CFC) とデータフローカバレッジ (Data Flow Coverage, DFC) のいいとこ取りをした Multipoint Stride Coverage (MPSC) の提案 主要な貢献 MPSCは、DFCより小さい オーバーヘッドで、同じく らいうまくテストスイート の効率の予測できる が…… 予 測 性 能 MPSC DFC CFC コスト ICSE‘13 勉強会 H1 : Comparing Multi-point Stride Coverage and Dataflow Coverage 2013/7/9 + MPSCの概要 4 2つのパラメータを持つ branchesの組 (g): branchesの間にある branchesの数 points (p): 組に含まれる branchesの数 gap 例:右図フロー (g=1, p=3) (begin, begin, b1), (begin, b1, b2), (b1, b2, b3), (b2, b3, b4), (b3, b4, end), (b4, end, end) begin b1 b2 b3 b4 end ICSE‘13 勉強会 H1 : Comparing Multi-point Stride Coverage and Dataflow Coverage 2013/7/9 + 評価方法 5 評価手順 SIRから15の対象プログラムを取得 (TABLE I) 以下の計測コードと100のmutationsを埋め込み CFC (ブランチカバレッジ) DFC (データフローカバレッジ) MPSC (g=0 to 10, p=2 to 5) 3~50のテストケースを20ずつ無作為抽出し実行 評価指標 カバレッジを説明変数に含む、killできた mutationsの割合予測モデルの自由度調整済み決 定係数(Adj R2) で評価 ICSE‘13 勉強会 H1 : Comparing Multi-point Stride Coverage and Dataflow Coverage 2013/7/9 + 評価結果 定量評価 6 (TABLE II) MPSC: 7/15でAdj R2最大 CFC: 7/15でAdj R2最大 DFC: 1/15でAdj R2最大 考察 各カバレッジのAdj R2の大き さはほぼ同じで、実用上の差 異はほとんどない 期待に反し、DFCの予測性能 が低い。テストケース数も用 いているためかも Fig. 5. MPSC vs. number of mutants detected for g = 10 and p = 5, subject program nanoxml (出所) HASSAN, Mohammad Mahdi; ANDREWS, James H. Comparing multi-point stride coverage and dataflow coverage. In: Proc. of the 2013 ICSE. IEEE Press, 2013. p. 172-181. ICSE‘13 勉強会 H1 : Comparing Multi-point Stride Coverage and Dataflow Coverage 2013/7/9 + 紹介者の所感 7 実用上はブランチカバレッジで十分そう 性能評価の紹介は割愛しました Research Questionを立て、それに応える形 式で書かれているので、対応が取りやすい 指標の妥当性についての 議論もある (恐らく心理 学から転用) 予 測 性 能 validity external validity construct validity CFVMPSCDFC internal ICSE‘13 勉強会 H1 : Comparing Multi-point Stride Coverage and Dataflow Coverage コスト 2013/7/9 + ★H2 : Interaction-Based Test-Suite Minimization Dale Blue, Itai Segall, Rachel Tzoref-Brill, and Aviad Zlotnick IBM, USA; IBM Research, Israel 発表者:株式会社NTTデータ 朱峰 錦司 + 研究の目的 9 背景 組み合わせテスト設計(CTD)は重要な技術 パッケージソフトウェアなど、テストすべきパターンが膨大なソフ トウェアが増えている CTDの適用は難しい 組み合わせ制約をモデリングするのが大変 新たに作成された組み合わせパターンを具体的なテストケースに 落とし込むのが大変 目的と貢献 テストエンジニアの心情 組み合わせパターンのカバレッジを落とさずに、既存のテス トケースを削減する手法を確立 テストエンジニアの心情 ITSM(Interaction-based Test-Suite Minimization) 実プロジェクトでのケーススタディを通して手法の有用性を 確認 ICSE‘13 勉強会 H2 : Interaction-Based Test-Suite Minimization 2013/7/9 + ITSMのアプローチ(1/2) 10 一般的なCTDの適用 Pairwise法(2パラメータ間の 組み合わせパターンを網羅)の適用 15件の組み合わせパターンでOK (出所) Dale Blue, Itai Segall, Rachel Tzoref-Brill, and Aviad Zlotnick; IBM, USA; IBM Research, Israel; Interaction-Based Test-Suite Minimization. In: Proc. of the 2013 ICSE. IEEE Press, 2013. p. 182-191. ICSE‘13 勉強会 H2 : Interaction-Based Test-Suite Minimization 2013/7/9 + ITSMのアプローチ(2/2) 11 ITSMの適用 既存の50件のテストケース 2パラメータ間の組み合わせパターン カバレッジを保つように削減 22件の組み合わせパターンでOK (出所) Dale Blue, Itai Segall, Rachel Tzoref-Brill, and Aviad Zlotnick; IBM, USA; IBM Research, Israel; Interaction-Based Test-Suite Minimization. In: Proc. of the 2013 ICSE. IEEE Press, 2013. p. 182-191. ICSE‘13 勉強会 H2 : Interaction-Based Test-Suite Minimization 2013/7/9 + 評価方法と結果 12 実プロジェクト適用による評価 2つの詳細なケーススタディ 既存のテストケース(手法のインプット)の組み合わせパ ターンカバレッジは十分か? どれぐらいテストケースを削減できたか? 処理にどれぐらい時間がかかったか? 1つめのケーススタディの結果を以下に紹介 削減効果大 工夫したアルゴ リズムも有用 (出所) Dale Blue, Itai Segall, Rachel Tzoref-Brill, and Aviad Zlotnick; IBM, USA; IBM Research, Israel; Interaction-Based Test-Suite Minimization. In: Proc. of the 2013 ICSE. IEEE Press, 2013. p. 182-191. ICSE‘13 勉強会 H2 : Interaction-Based Test-Suite Minimization 2013/7/9 + 紹介者の所感 13 有用性の高さ 「組み合わせテスト」という、地味だけど現場でのニーズが 増えている分野を攻めている 「既存のテストケースが存在する」という、現場の実情に 沿った前提を置いている 精度/コストのトレードオフをきちんと考慮したアルゴリズ ムを提案している 実プロジェクトでの検証 詳細なケーススタディ2件に加え、8件の実プロジェクト適 用結果も掲載している 鉄壁の防御 ことあるごとに「ここでは関心外とする」的な予防線をはり つつ、参考文献はきちんと載せている ex.) テストケース削減によるバグ発見能力の低下は議論の余地はあ るが、[7][8][12][13]あたりを参考に、FutureWorkとして扱う ICSE‘13 勉強会 H2 : Interaction-Based Test-Suite Minimization 2013/7/9 + H3 : Bridging the Gap between the Total and Additional Test-Case Prioritization Strategies Lingming Zhang, Dan Hao, Lu Zhang, Gregg Rothermel, and Hong Mei University of Texas at Austin, USA; Peking University, China; University of Nebraska-Lincoln, USA 発表者:NTT・ソフトウェアイノベーションセンタ 田端 啓一 + 研究の目的と主要な貢献 15 回帰テストの並べ替えで故障検出率を増加 2つのテストケース並べ替え戦略を融合 Additional それ以前のテストで未カバーの部分をカバーしていく 故障発見確率が高い対象に有効(1回叩けば十分) Total strategy strategy 1つのテストケースでなるべく広範囲をカバーする 故障発見確率が低い対象に有効(何度も叩く必要) 定量的な評価により、効果を実証的に提示 ICSE‘13 勉強会 H3 : Bridging the Gap between the Total and Additional Test-Case Prioritization Strategies 2013/7/9 + 提案手法の概要 16 p値によるテストケースの並べ替えアルゴリズムを提案 p値: テストケースがメソッド内の故障を発見できる確率 基本手法では一様なp値とし、応用手法ではメソッドごとの複雑度で調整 並べ替え: p値に基づいて行われる(詳細なアルゴリズムは論文を参照) p値が高い → 故障を発見しやすい → Additional strategyに漸近 p値の設定 p値が低いとき → 故障を発見しづらい → Total strategyに漸近 テストケース t1 t2 t3 ・・・ u1 u2 u3 ・・・ カバレッジ テスト対象 メソッド ICSE‘13 勉強会 H3 : Bridging the Gap between the Total and Additional Test-Case Prioritization Strategies 2013/7/9 + 評価方法と結果 17 評価手法と基準 3つのプログラムの計19バージョンで調査 APFD(平均故障検出パーセンテージ)で評価 評価の一例を抜粋 APFDは 高いほうが良い 論文本文より抜粋 Additional Total 評価結果 p値の設定 TotalよりAdditionalの方が優秀だった Additionalよりも提案手法の方が優秀なp値の区間が存在した ICSE‘13 勉強会 H3 : Bridging the Gap between the Total and Additional Test-Case Prioritization Strategies 2013/7/9 + 紹介者の所感 18 評価プログラムの選択が上手い 3つのアプリケーションの異なるバージョンを利用(計19個) それぞれJUnitによるテストを流用して評価している 対象としているテストの粒度がよくわからない ユニットテストとは明言していないがJUnitを利用している 結合度の高いテストでもp値を応用できないだろうか? 複雑度指標を取り入れた効果について メソッドごとのp値をCyclomaticとMLoC(Method LoC)で調整している 評価結果を見ると、著者の主張ほど大きな効果があると言えるか疑問 ソフトウェアメトリクスの信奉派?? ICSE‘13 勉強会 H3 : Bridging the Gap between the Total and Additional Test-Case Prioritization Strategies 2013/7/9 + 2013/7/9 SessionH おわり ICSE'13 勉強会 セッション:Test-Case Selection 19
© Copyright 2024 ExpyDoc