high-impact defects: a study of breakage and surprise defects

19
High-Impact Defects: A Study of Breakage and Surprise Defects Emad Shihab , Audris Mockus § , Yasutaka Kamei , Bram Adams and Ahmed E. Hassan ( Queen’s Univ. § Uvaya Labs Research) 担担 担担 担担NAIST 担担担担担担担担担担担担担担担担担担担担担担担担担担担担担 担担担担担 担担担担担担担担担担担担担担担担担担担担担担担担担担担担担担担担担

Upload: dyanne

Post on 17-Feb-2016

67 views

Category:

Documents


2 download

DESCRIPTION

High-Impact Defects: A Study of Breakage and Surprise Defects. 本論文の貢献. ソフトウェアの品質に重大な影響を及ぼす欠陥に着目し,このような欠陥を予測することで実務でも使えるような手法を提案した .. Emad Shihab † , Audris Mockus § , Yasutaka Kamei † , Bram Adams † and Ahmed E. Hassan † ( † Queen’s Univ. § U vaya Labs Research ). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: High-Impact Defects: A Study of Breakage and Surprise  Defects

High-Impact Defects: A Study of Breakage and Surprise Defects

Emad Shihab†, Audris Mockus§, Yasutaka Kamei†, Bram Adams† and Ahmed E. Hassan†

(†Queen’s Univ.   §Uvaya Labs Research)

担当:伏田 享平( NAIST ・飯田研)

ソフトウェアの品質に重大な影響を及ぼす欠陥に着目し,このような欠陥を予測することで実務でも使えるような手法を提案した.

本論文の貢献

Page 2: High-Impact Defects: A Study of Breakage and Surprise  Defects

背景・目的• 様々な欠陥予測手法が提案されているが,実

務には適用できていない–予測結果として現れる数が開発チームが対処でき

る量を超えている–個々の欠陥の影響を考慮していない

• 顧客や実務者に多大な影響を及ぼす欠陥に着目し,このような欠陥を予測する– Breakages– Surprises

• 評価には電話システムの開発データを用いている

Page 3: High-Impact Defects: A Study of Breakage and Surprise  Defects

Breakage / Surprise Defects• Breakage Defects–過去のリリース時に実装された機能を破壊し

てしまうような欠陥• Surprise Defects–リリース前にほとんど変更が行われていな

かったファイルに存在していた(リリース後に発見された)欠陥

( Table.2 を引用)

リリース後に発見された中で, Breakages/Surprises の数はわずか

Page 4: High-Impact Defects: A Study of Breakage and Surprise  Defects

ケーススタディ• Breakages/Surprises を予測するロジス

ティック回帰モデルを構築して評価した• 予測に用いるメトリクス(詳細は表 2 参照)– Traditional Factors :

リリース前の欠陥数,リリース前変更回数,ファイル数

– Co-change Factors :同時変更されたファイル数など

– Time Factors :最終変更からリリースまでの時間,ファイルの生存期間

Page 5: High-Impact Defects: A Study of Breakage and Surprise  Defects

予測モデルの性能• 適合率はラン

ダムに予測した場合に比べて 2 倍良い

• 高い再現率を示している–欠陥予測では

再現率が重視される

Page 6: High-Impact Defects: A Study of Breakage and Surprise  Defects

どの要因が予測に効くか?• Breakages → Traditional Factors• Surprises

→ Co-Change Factors, Time Factors

Page 7: High-Impact Defects: A Study of Breakage and Surprise  Defects

Micro Interaction Metrics for Defect Prediction

Taek Lee†, Jaechang Nam§, DongGyun Han§, Sunghun Kim§ and Hoh Peter In†

(†Korea Univ.   §Hong Kong Univ. of Science and Technology )

担当:伏田 享平( NAIST ・飯田研)

開発者の行動パターンに着目したメトリクスを提案し,このメトリクスを用いることで欠陥予測精度が向上することを実証した.

本論文の貢献

Page 8: High-Impact Defects: A Study of Breakage and Surprise  Defects

背景・目的• メトリクスを利用した欠陥予測手法は多数

提案されている–ソースコードのメトリクス–変更履歴のメトリクス

• 開発者の行動パターンもソフトウェアの品質に大きく影響を及ぼすと言われている–ソースコードの選択,編集の流れ

• 56 個の micro interaction metrics ( MIMs )を提案し, MIMs がバグ予測精度向上に寄与するかを確認する

Page 9: High-Impact Defects: A Study of Breakage and Surprise  Defects

Micro Interaction Metrics• 開発者がタスクを実施している際の,成果

物とのインタラクションを定量化したもの

• Mylyn のログを利用して計測する–進行中のタスク数,選択・編集された回数–行動パターン:選択 → 編集,選択 → 選択

File D• 編

File E• 編

File C• 選

File E• 選

File A• 選

File B• 編

File A• 編

File C• 選

択 MIMs の例– タスク数: 2– 選択回数: 4– 編集回数: 4

タスク 1

タスク 2

Page 10: High-Impact Defects: A Study of Breakage and Surprise  Defects

評価実験• 各メトリクスとその組み合わせから予測モ

デルを作成する–MIMs– CMs ( Code Metrics ):

ソースコードから抽出したメトリクス• コード行数,複雑度メトリクスなど

– HMs ( History Metrics ):開発履歴から抽出したメトリクス• ソースコードの変更行数,変更回数など

• 予測対象のプロジェクト,学習器,学習に用いるデータ量を変えて評価する

Page 11: High-Impact Defects: A Study of Breakage and Surprise  Defects

評価結果:プロジェクトによる差異

• どのプロジェクトでも MIM 単独,もしくは MIM を加えることで予測精度が向上する

( Fig.3 を引用)

Page 12: High-Impact Defects: A Study of Breakage and Surprise  Defects

評価結果:学習器による差異• 学習方法を変

えても MIM が強い

( Fig.4 を引用)

Page 13: High-Impact Defects: A Study of Breakage and Surprise  Defects

評価結果:分割点による差異• やっぱり強い

( Fig.5 を引用)

Page 14: High-Impact Defects: A Study of Breakage and Surprise  Defects

メトリクスの効果分析

• メトリクスの情報利得比を個別を調べた.– 利得比が高いとバグ判別に

役立つ.• ランキング上位 42 個が

MIMs であり,開発者の行動がバグ判別に大きく影響することが分かる.

14情報利得比

メト

リク

スラ

ンキ

ング

図の色– MIM :赤– HM :紫– CM :水

メトリクスの数– MIMs : 56

個– HMs :

15 個– CMs :

42 個

( Fig.6 を引用)

Page 15: High-Impact Defects: A Study of Breakage and Surprise  Defects

BugCache for Inspections : Hit or Miss?F. Rahman et al. (カリフォルニア大デービス校)

担当者:吉田( NAIST )

Page 16: High-Impact Defects: A Study of Breakage and Surprise  Defects

概要 バグ予測ツール FixCache のソースコードの検査に関する有用性を調査した研究

FixCache ICSE 2007 で発表された論文において, Sunghum Kim らが提案したバグ予測ツール 同論文において,回帰テストの支援に対する有用性を確認

結論 過去のバグ修正数でファイルをソートした場合と比較して,検査の効率に有意な差はなかった

Page 17: High-Impact Defects: A Study of Breakage and Surprise  Defects

FixCache キャッシュに入ったファイルを提示するバグ予測手法 キャッシュに追加されるファイル

バグ修正時に修正されたファイル buggy とされたファイルと同時に更新されたファイル 最近,修正・追加されたファイル

性能 73%–95% の確率で faulty なファイルを特定できる メソッド単位の予測を行うと, 46%–72% に低下

Page 18: High-Impact Defects: A Study of Breakage and Surprise  Defects

Cached/Uncached ファイルのバグ密度の変化

徐々に,バグ密度の差異が小さくなった

Cached/Uncached ファイルのバグ密度の時系列上にプロット

Page 19: High-Impact Defects: A Study of Breakage and Surprise  Defects

インスペクションに用いた場合の効率 FixCache と, Naive を用いた場合を比較

Naive は,修正したバグ数でファイルをソートしただけの手法 各手法に基づいて,ソースコードの 20% を検査したと仮定

ほとんどの場合, Naive と比較して有意な差はなかった