4. 落とし穴「ホーソン効果」
4nicolasdsampson.com, Observe And Learn: The Magic Of Paying Attention
http://nicolasdsampson.com/wp-content/uploads/2012/10/2010_12_06_observe-learn-magic-paying-attention.jpg
5. I. 解釈
(評価基準)
コツ「ゴール指向のメトリクス定義」
• Goal-Question-Metric(GQM)パラダイム
M. メトリクス
G. 目標
Q. 質問
測定対象(データ)
達成評価
答え
測定値
5
楠本真二, 肥後芳樹, “GQMパラダイムを用いたソフトウェアメトリクスの活用”, コンピュータソフトウェア, 2012.
リンダ・M・ライルド, M・キャロル・ブレナン著, 野中誠, 鷲崎弘宜 訳 , "演習で学ぶソフトウエアメトリクスの", 日経BP社 , 2009.
V. Basili, et al.: Goal, Question, Metric Paradigm, Encycloperia of Software Engineering, Vol. 1(1994)
13. コツ「時間変化や不確定性を考慮した予測」
13K. Honda, et al., Predicting Time Range Based on Generalized Software Reliability Model , APSEC’14
K. Honda, et al., Predicting the Release Time Based on a Generalized Software Reliability Model (GSRM), COMPSAC’14
0
0.2
0.4
0.6
0.8
1
1.2
0 0.2 0.4 0.6 0.8 1
発見した欠陥の割合
時間
Model 1-1
Model 2-1
Model 3-1
14. コツ「仮定の明示とシステム改善」
14
計画
測定
評価
改善
N. Tsuda, et al. Iterative Process to Improve GQM Models with Metrics Thresholds to Detect High-risk Files, SANER'15 Doctoral
M. 呼び出し先
モジュール数
G. 変更されやすい
箇所を特定できている
Q. モジュールの依存
関係はどの程度か?
M. 呼び出し元
モジュール数
A. あちこちと依存するモ
ジュールは変更されやすい
15. コマツとの共同研究
事例: 機械学習によるメトリクス・システム改善
15
10 25
300
150
M. 関数の数
M.実行行数
OK
NG
71
M. 関数の数
M.実行行数
OK
NG
△ OK, ○ NG
N. Tsuda, et al. Iterative Process to Improve GQM Models with Metrics Thresholds to Detect High-risk Files, SANER'15 Doctoral
17. 0
5
10
15
20
25
0 0.2 0.4 0.6 0.8 1
欠陥数
時間
予測
実際
信頼性
信頼性モデル
③全欠陥数の95%の欠
陥が発見されれば信頼性
を保証するとする.
①発見した欠陥を累積として
日ごと,または週ごとで測定
②実データを基に欠陥数を予測する
おおよそ,95%の欠陥が
発見できる.
例: ロジスティックモデル
17K. Honda, et al., Predicting Time Range Based on Generalized Software Reliability Model , APSEC’14
K. Honda, et al., Predicting the Release Time Based on a Generalized Software Reliability Model (GSRM), COMPSAC’14
18. • 仮定
1. 欠陥の発見に割ける時間は一定ではなく,時間変化を持つ.
2. 単位時間当たりに発見できる欠陥の数は,不確定な要素を持つ.
一般化信頼性モデル GSRM
ロジスティック
ホワイトガウシアンノイズ
18
統計的解析モデル 確率過程
不確定な項時間に関する項
確率過程
統計的解析モデル
K. Honda, et al., Predicting Time Range Based on Generalized Software Reliability Model , APSEC’14
K. Honda, et al., Predicting the Release Time Based on a Generalized Software Reliability Model (GSRM), COMPSAC’14
19. 時間変化
0
0.5
1
1.5
2
0 0.5 1
α①
0
0.5
1
1.5
2
α③
0
0.5
1
1.5
2
0 0.5 1
α②
単位時間当たりに発見でき
る欠陥の数が一定
単位時間当たりに発見でき
る欠陥の数がある時間で変
化する
単位時間当たりに発見でき
る欠陥の数が徐々に増加
する
K. Honda, et al., Predicting Time Range Based on Generalized Software Reliability Model , APSEC’14
K. Honda, et al., Predicting the Release Time Based on a Generalized Software Reliability Model (GSRM), COMPSAC’14
21. 単位時間当たりに発見できる
欠陥数が一定であり,発見さ
れた欠陥の累積数が増えれ
ば不確定な影響が大きくな
る.(Model 1-1)
単位時間当たりに発見
できる欠陥数が一定で
あり,不確定な影響が常
に一定.(Model1-2)
単位時間当たりに発見できる欠
陥数が一定であり,発見された欠
陥の累積数が増えれば不確定な
影響が小さくなる.(e.g. 開発チー
ムが成熟する)(Model 1-3)
単位時間当たりに発見できる
欠陥数がt1 で変化し,発見
された欠陥の累積数が増え
れば不確定な影響が大きく
なる.(e.g. 新しいメンバーが
t1 で加わる)(Model 2-1)
単位時間当たりに発見
できる欠陥数がt1 で変
化し,不確定な影響が
常に一定.(Model2-2)
単位時間当たりに発見できる欠
陥数がt1 で変化し,発見された
欠陥の累積数が増えれば
不確定な影響が小さくなる.
(Model 2-3)
単位時間当たりに発見できる
欠陥数と,不確定性の影響
が発見された欠陥の累積数
が増えれば大きくなる.(e.g.
時間とともに開発メンバーが
増える)(Model 3-1)
単位時間当たりに発見
できる欠陥数が時間とと
もに増加し,不確定な影
響が常に一定.(Model
3-2)
単位時間当たりに発見できる欠
陥数が時間とともに増加し,発見
された欠陥の累積数が増
えれば不確定な影響が小さくな
る.(Model3-3)
-0.3
-0.2
-0.1
0
0.1
0.2
-15
-10
-5
0
5
10
15
0 0.2 0.4 0.6 0.8 1
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0
0.5
1
1.5
2
0 0.5 1
α①
0
0.5
1
1.5
2
0 0.5 1
α②
0
0.5
1
1.5
2
α③
K. Honda, et al., Predicting Time Range Based on Generalized Software Reliability Model , APSEC’14
K. Honda, et al., Predicting the Release Time Based on a Generalized Software Reliability Model (GSRM), COMPSAC’14
22. リリース可能時期の幅をもった予測
0
10
20
30
40
50
60
70
80
90
0 2 4 6 8 10 12 14
#Defects
Time
ActualData
Our model
-
+
22
95%の欠陥の発見
K. Honda, et al., Predicting Time Range Based on Generalized Software Reliability Model , APSEC’14
K. Honda, et al., Predicting the Release Time Based on a Generalized Software Reliability Model (GSRM), COMPSAC’14
23. ヤフーとの共同研究
事例: 開発後の欠陥数予測
23
欠陥数予測の精度(RSS)
開発中盤で予測した
リリース可能時期の幅 [日数]
モジュール NHPP S字 GSRM NHPP GSRM
messaging 50626 31510 12240 1309 58
storage 409 592 232 219 87
UI 47250 8160 2416 3308 17
common 357852 6824 7124 58162 -
consumer 13168 622 514 - -
control-api 1913 1500 784 421 15
data-api 9560 3359 1001 444 72
K. Honda, et al., Predicting Time Range Based on Generalized Software Reliability Model , APSEC’14
K. Honda, et al., Predicting the Release Time Based on a Generalized Software Reliability Model (GSRM), COMPSAC’14
26. ヤフーとの共同研究
事例: 意思決定への応用
26
abyss_data-api abyss_data-api abyss_data-api
モジュール
現在・
欠陥数
予測・
総欠陥数
予測・
現欠陥数
予測・リリース
可能日
M1 147 144 134 156日目
ほぼ全ての欠陥を検出できたようだ。
ここからはテストよりもデバッグに注力しよう。
欠陥数 総欠陥数の予測予測の誤り
K. Honda, et al., Predicting Time Range Based on Generalized Software Reliability Model , APSEC’14
K. Honda, et al., Predicting the Release Time Based on a Generalized Software Reliability Model (GSRM), COMPSAC’14