Upload
matteo
View
28
Download
0
Embed Size (px)
DESCRIPTION
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 データ 井ノ口 伸人. 研究の目的と主要な貢献. 研究の目的 - PowerPoint PPT Presentation
Citation preview
+
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. AndrewsUniversity of Western Ontario, Canada
発表者:株式会社 NTT データ 井ノ口 伸人
3+研究の目的と主要な貢献研究の目的
制御フローカバレッジ (Control Flow Coverage, CFC) とデータフローカバレッジ (Data Flow Coverage, DFC) のいいとこ取りをした Multi-point Stride Coverage (MPSC) の提案
ICSE‘13 勉強会 H1 : Comparing Multi-point Stride Coverage and Dataflow Coverage 2013/7/9
主要な貢献 MPSC は、 DFC より小さい
オーバーヘッドで、同じくらいうまくテストスイートの効率の予測できる
が……
予測
性能
コスト
DFC
CFC
MPSC
4+MPSC の概要2 つのパラメータを持つbranches の組 gap (g): branches の間にある
branches の数 points (p): 組に含まれる
branches の数
例:右図フロー (g=1, p=3) (begin, begin, b1), (begin, b1,
b2), (b1, b2, b3), (b2, b3, b4),(b3, b4, end), (b4, end, end)
ICSE‘13 勉強会 H1 : Comparing Multi-point Stride Coverage and Dataflow Coverage 2013/7/9
b1
begin
end
b2
b3
b4
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) で評価
2013/7/9ICSE‘13 勉強会 H1 : Comparing Multi-point Stride Coverage and Dataflow Coverage
6+評価結果
定量評価 (TABLE II) MPSC: 7/15 で Adj R2 最大 CFC: 7/15 で Adj R2 最大 DFC: 1/15 で Adj R2 最大
考察 各カバレッジの Adj R2 の大
きさはほぼ同じで、実用上の差異はほとんどない
期待に反し、 DFC の予測性能が低い。テストケース数も用いているためかも
2013/7/9ICSE‘13 勉強会 H1 : Comparing Multi-point Stride Coverage and Dataflow Coverage
(出所) 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.
Fig. 5. MPSC vs. number of mutants detected for g = 10 and p = 5, subject program nanoxml
7+紹介者の所感
実用上はブランチカバレッジで十分そう
性能評価の紹介は割愛しました
Research Question を立て、それに応える形式で書かれているので、対応が取りやすい
2013/7/9ICSE‘13 勉強会 H1 : Comparing Multi-point Stride Coverage and Dataflow Coverage
予測
性能
コスト
DFCCFVMPSC指標の妥当性についての
議論もある ( 恐らく心理学から転用 ) internal validity external validity construct validity
+
★H2 : Interaction-Based Test-Suite Minimization
Dale Blue, Itai Segall, Rachel Tzoref-Brill, and Aviad ZlotnickIBM, 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
テストエンジニアの心情
テストエンジニアの心情
10+ITSM のアプローチ (1/2)一般的な CTD の適用
ICSE‘13 勉強会 H2 : Interaction-Based Test-Suite Minimization 2013/7/9
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.
Pairwise 法( 2 パラメータ間の組み合わせパターンを網羅)の適用
11+ITSM のアプローチ (2/2)ITSM の適用
ICSE‘13 勉強会 H2 : Interaction-Based Test-Suite Minimization 2013/7/9
既存の 50 件のテストケース
22 件の組み合わせパターンでOK
2 パラメータ間の組み合わせパターンカバレッジを保つように削減
(出所) 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.
12+評価方法と結果実プロジェクト適用による評価
2 つの詳細なケーススタディ 既存のテストケース(手法のインプット)の組み合わせパターンカバ
レッジは十分か? どれぐらいテストケースを削減できたか? 処理にどれぐらい時間がかかったか?
1 つめのケーススタディの結果を以下に紹介
2013/7/9ICSE‘13 勉強会 H2 : Interaction-Based Test-Suite Minimization
(出所) 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.
削減効果大
工夫したアルゴ
リズムも有用
13+紹介者の所感 有用性の高さ
「組み合わせテスト」という、地味だけど現場でのニーズが増えている分野を攻めている
「既存のテストケースが存在する」という、現場の実情に沿った前提を置いている
精度/コストのトレードオフをきちんと考慮したアルゴリズムを提案している
実プロジェクトでの検証 詳細なケーススタディ 2 件に加え、 8 件の実プロジェクト適用結果も掲載している
鉄壁の防御 ことあるごとに「ここでは関心外とする」的な予防線をはりつつ、参考文献はきちんと載せている ex.) テストケース削減によるバグ発見能力の低下は議論の余地はあるが、 [7]
[8][12][13] あたりを参考に、 FutureWork として扱う
2013/7/9ICSE‘13 勉強会 H2 : Interaction-Based Test-Suite Minimization
+
H3 : Bridging the Gap between the Total and Additional Test-Case Prioritization
StrategiesLingming Zhang, Dan Hao, Lu Zhang, Gregg Rothermel, and Hong MeiUniversity of Texas at Austin, USA; Peking University, China; University of Nebraska-Lincoln, USA
発表者:NTT・ソフトウェアイノベーションセンタ 田端 啓一
15+研究の目的と主要な貢献
回帰テストの並べ替えで故障検出率を増加
2つのテストケース並べ替え戦略を融合 Additional strategy
それ以前のテストで未カバーの部分をカバーしていく 故障発見確率が高い対象に有効(1回叩けば十分)
Total 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値に基づいて行われる ( 詳細なアルゴリズムは論文を参照 )
2013/7/9ICSE‘13 勉強会 H3 : Bridging the Gap between the Total and Additional Test-Case Prioritization Strategies
p値の設定
p値が高い→ 故障を発見しやすい→ Additional strategy に漸近
p値が低いとき→ 故障を発見しづらい→ Total strategy に漸近
t1 t2 t3 ・・・テストケース
u1 u2 u3 ・・・テスト対象メソッド
カバレッジ
17+評価方法と結果 評価手法と基準
3つのプログラムの計 19 バージョンで調査 APFD(平均故障検出パーセンテージ ) で評価
2013/7/9ICSE‘13 勉強会 H3 : Bridging the Gap between the Total and Additional Test-Case Prioritization Strategies
論文本文より抜粋
Total Additional
APFD は高いほうが良い
評価結果 Total より Additional の方が優秀だった Additional よりも提案手法の方が優秀な p値の区間が存在した
評価の一例を抜粋
p値の設定
18+紹介者の所感
評価プログラムの選択が上手い 3つのアプリケーションの異なるバージョンを利用 ( 計 19個 ) それぞれ JUnit によるテストを流用して評価している
対象としているテストの粒度がよくわからない ユニットテストとは明言していないが JUnit を利用している 結合度の高いテストでも p値を応用できないだろうか?
複雑度指標を取り入れた効果について メソッドごとの p値を Cyclomatic と MLoC(Method LoC) で調整してい
る 評価結果を見ると、著者の主張ほど大きな効果があると言えるか疑問 ソフトウェアメトリクスの信奉派??
2013/7/9ICSE‘13 勉強会 H3 : Bridging the Gap between the Total and Additional Test-Case Prioritization Strategies
19
+
2013/7/9 ICSE'13 勉強会 セッション: Test-Case Selection
SessionH おわり