19. AI in SE Application Levels (AI-SEAL)[Feldt18]
19
Robert Feldt, et al., Ways of Applying Artificial Intelligence in Software Engineering, RAISE 2018, CoRR abs/1802.02033
7. 自動意思
決定・実装・
通知
10. 必要と判断の
うえで自動意思決
定・実装・通知
プロセス
自動化
レベル
適用対象
プロダクト
実行
低リスク
高リスク
中リスク
1. 人手による
代替候補群の
検討
4. 代替候補
群と一つの案
を自動推薦
20. 拡張しやすい
個所を特定
しやすい
規模が大きいと
拡張しにくい
規模はどの
程度か?
実行行数 関数の数
機械学習ベース・エンジニアリング例
Naohiko Tsuda, Hironori Washizaki, Yoshiaki Fukazawa, Yuichiro Yasuda and Shunsuke Sugimura, “Machine Learning to Evaluate
Evolvability Defects: Code Metrics Thresholds for a Given Context,” The 18th IEEE International Conference on Software Quality,
Reliability & Security (QRS 2018)
レビュー
品質測定
機械学習
測定
目的
仮定
質問
測定
データ
20
10 25
300
150
M. 関数の数
M.実行行数
OK
NG
71
M. 関数の数
M.実行行数
OK
NG
改善
X
22. 品質の観点と施策 [Breck17]を拡張
22
学習データ
学習済み
モデル
内平 直志, 「人工知能とソフトウェア工学・品質管理」, 第33年度ソフトウェア品質管理研究会第7回特別講義, 2017
活動 /
システム
インフラ
ミスの無さ、偏りの無さ、
網羅性
データ
性能、頑健さ、
解釈・説明性
組み入れ正しさ
品質保証全体
合目的性、
想定外対応
データテスト
Skew/メタモルフィ
ックテスティング
モデルテスト
複数モデル
感度分析・逆追跡
アーキテクチャ
段階的設計・検証
機械「教育」
モニタリング
失敗対策
上位目標
Eric Breck et al., The ML Test Score: A Rubric for ML Production Readiness and Technical Debt Reduction, IEEE Big Data 2017
23. 全体: 機械「教育」(Teaching) [Simard17]
23
ソースコード
ハイパーパラメータ
データセット
スキーマ
ソースコード
ハイパーパラメータ
データセット
スキーマ
I. 検査
II. ラベルや特徴量の編集
III. 学習
IV. テスト
I. 検査
II. ラベルや特徴量の編集
III. 学習
IV. テスト
Patrice Y. Simard, et al., Machine Teaching: A New Paradigm for Building Machine Learning Systems. CoRR abs/1707.06742 (2017)
清 雄一, 機械学習・深層学習, スマートエスイー講義資料 2018
プログラミング 機械「教育」
コンパイラ 機械学習アルゴリズム
OS/サービス/IDE 学習、サンプリング・・・
フレームワーク ImageNet, word2vec・・・
プログラミング言語 ラベル、特徴量、スキーマ・・・
プログラミングへの熟練 「教育」への熟練
デバッグ デバッグ
バージョン管理 バージョン管理
開発プロセス 「教育」プロセス
28. Quality Assurance to Agile Quality (QA2AQ)
28
コアパターン
障壁の解体
品質の組み入れ
品質の識別
品質の発見
アジャイル品質シナリオ
品質ストーリー
測定可能なシステム品
質
折り込み品質
アジャイルな着陸点
着地点の再調整
品質目標の合意
品質の可視化
システム品質ダッシュ
ボード
システム品質ラジエータ
ロードマップ上の品質検
討
バックログ上の品質検討
進むにつれ自動化
品質チェックリスト
品質面でアジャイルに
チーム全体
品質に焦点をあてたスプリ
ント
品質保証チャンピオン
アジャイル品質の専門家
品質に関する作業負荷の
展開
品質熟練者への寄添い
品質主導者とのペア
技術 コーディングマネジメント プロセス
思考
Joseph Yoder, Rebecca Wirfs-Brock, Ademar Aguilar, “QA to AQ: Patterns about transitioning from Quality Assurance to Agile Quality,” AsianPLoP 2014
Joseph W. Yoder and Rebecca Wirfs-Brock, “QA to AQ Part Two: Shifting from Quality Assurance to Agile Quality,” PLoP 2014
Joseph W. Yoder, Rebecca Wirfs-Brock, Hironori Washizaki, “QA to AQ Part Three – Shifting from Quality Assurance to Agile Quality – Tearing Down the Walls,”
SugarLoafPLoP 2014
Joseph W. Yoder, Rebecca Wirfs-Brock, Hironori Washizaki, “QA to AQ Part Four - Shifting from Quality Assurance to Agile Quality - Prioritizing Qualities and
Making them Visible,” PLoP 2015
Joseph W. Yoder, Rebecca WirfsBrock, Hironori Washizaki, “QA to AQ – Part Six – Being Agile at Quality,” PLoP 2016
平鍋氏によるアジャイル品質保証パターンの紹介 https://qiita.com/kenjihiranabe/items/a0795dbdab4c58e746a1
Joseph Yoder, “Being Agile about Quality”,, 2014-18
31. OSS品質実態と組織成熟度 [Ajila07]
• 北米18名のマネージャへのインタビュー+文献調査
• OSSと商用ソフト間での品質の差は小さいか,ほぼ無い
• OSSの体系的再利用は生産性や品質に良い影響
31
S.A. Ajila and D. Wu, Empirical study of the effects of open source adoption on software development economics, JSS, 8-0(9), 2007
初期 観察 調整 計画的 成熟
奨励・文化 非奨励 奨励 報奨 教化 業務直結
計画性 無し 草の根 機会 命令 戦略
範囲 個人 チーム 個所 部門 組織全体
責任 個々 共有 専門家 専門チー
ム
協力チーム
&リエゾン
プロセス カオス 設計後 設計時 部品開発 全製品が再
利用意図
メトリクス 無し 再利用
LOC
再利用
回数
部品費用
対効果
再利用追跡
32. OSSホワイトボックス再利用と由来
32
O1
O12
O2
O13
O123
O23
O3
Apache (1)
Oracle (2)
Sun (3)
例: OpenOffice
コードの規模・
複雑さメトリクス
由来
変更回数
変更規模
欠陥
S. Sato, H. Washizaki et al., Effects of Organizational Changes on Product Metrics and Defects, APSEC'13
R. Ishizue, H. Washizaki, et al., “Metrics visualization technique based on the origins and function layers for OSS-based
development,” VISSOFT 2016
R. Ishizue, H. Washizaki, et al., “Metrics Visualization Techniques based on Historical Origins and Functional Layers for
Developments by Multiple Organizations,” IJSEKE, Vol.28, No.9, pp.1-25, 2018.