IPA RISE委託研究
ソフトウェアのベンチマークとなる品質実態
調査における品質評価枠組み
早稲田大学グローバルソフトウェアエンジニアリング研究所 所長
国立情報学研究所 客員准教授
ISO/IEC/JTC1/SC7/WG20 Convenor
IEEE Computer Society Japan Chapter Chair
SEMAT Japan Chapter Chair
鷲崎 弘宜
http://www.washi.cs.waseda.ac.jp/
わしざき ひろのり
早稲田大学・Fraunhofer IESE 共催セミナー 2015年9月4日
2
目次
• 調査プロジェクトの概要
• 測定
• 個別評価と実態分析
• まとめとお願い
3
IPA RISE委託研究 2015-2016年度(代表: 鷲崎)
「測定評価と分析によるソフトウェア製品品質の実態定
量化および総合的品質評価枠組みの確立」
4
40製品パッケージ/SaaS
内部・外部・利用時 PSQ認証も
……
……
……
……
……
……
0
2
4
6
8
10
1 2 3 4 5 6
評価
委託
評価
結果
認証
結果
評価・分析
結果協力
依頼
相互協力
体制と流れ
ソフトウェアベンダ 評価機関
5
提供
……
……
……
……
……
……
0
5
製品提供者における準備とメリット
6
製品説明文書
利用者用文書
仕様書
設計書
ソースコード
規約違反数
脆弱性 等
内部品質用
テスト仕様
テスト結果
バグ情報
等
外部品質用
アンケート結果
クレーム・要望
不具合報告
等
利用時の品質用
フィード
バック
0
2
4
6
品質評価
個別評価
PSQ認証
(適合時)
実態分析
0
2
4
6
8
10
1 2 3 4 5 6
品質ポジション
0
2
4
6
影響関係
目次
• 調査プロジェクトの概要
• 測定
• 個別評価と実態分析
• まとめとお願い
7
測定におけるポイント
1. 客観的: 入力と手順の明確化+第三者評価
2. 標準的: SQuAREシリーズ準拠
1. 品質モデル ISO/IEC 25010
2. 内部・外部品質メトリクス ISO/IEC 25023
3. 利用時の品質メトリクス ISO/IEC 25022
4. PSQ認証時の文書チェック ISO/IEC 25051
3. 網羅的
– 内部・外部品質を副特性レベルで100%網羅
– 利用時の品質を特性レベルで100%網羅
4. 納得感: GQMの適用+仮定の明示 8
内部・外部品質※
• 機能適合性
– 例: 機能正確性 X=1-A/B (A: 欠陥未修正の機能数、様式記載の全機能数)
• 性能効率性
– 例: 時間効率性 X=A/B (A: 平均応答時間、B: 目標時間)
• 互換性
– 例: 相互運用性 X=A/B (A: 可能な数、B: 交換可能と指定のデータフォーマット数)
• 使用性
– 例: 適切度認識性 X=A/B (A: マニュアル記載数、B: 可能な利用シナリオ数)
• 信頼性
– 例: 成熟性 X=A/B (A: 開発中の修正欠陥数、B: 開発中の発見欠陥数)
• セキュリティ
– 例: 責任追跡性 X=A/B (A: 操作履歴の残る機能数、B: 全機能数)
• 保守性
– 例: 修正性 X=Σ(Ai / Bi) / N (A: 欠陥修正日 – 発見日、B: 規定の修正時間)
• 移植性
– 例: 適応性 X=1-A/B (A: インストール環境によっては使えない機能数 、機能数)
9
※予定、変更可能性あり
利用時の品質
• 満足性
• 利用状況網羅性
• 有効性
• 効率性
• リスク回避性
10
ユーザアンケート、機能
改善要望から測定予定
調査の一環としてユーザ
テスト実施、追加アン
ケート設計予定
11
納得感: 「仮定」の明確化
機能適合性 保守性 ・・・互換性
モジュール性 再利用性 修正性G. 目標 ・・・
コールグラフ
階層の深さ
サイクロマテ
ィック複雑度
関数内の
戻り点の数
処理が複雑
すぎないか?
処理が構造化
されているか?
処理が複雑であると修正時
に予期せぬ影響を生じる
M. 測定法
A. 仮定
Q. 質問
プログラム
ソースコード …… …
…… …
…… …
…… …
・・・
・・・
・・・ ・・・
目次
• 調査プロジェクトの概要
• 測定
• 個別評価と実態分析
• まとめとお願い
12
評価レベルに応じた入力と出力
13
0
2
4
6
Lv1
PSQ認証の取得にあたり必要な
・製品情報 ・文書有無情報
・機能一覧+試験文書類および品質特性との対応表
・製品説明文書 ・利用者文書 ・試験文書
・リリース後欠陥情報および製品バージョン情報
 +要望やクレーム
・試験計画および試験結果
・利用時品質ヒアリング(ユーザー評価)
・仕様書、設計書における機能単位の規模情報
・コーディング規約違反数や脆弱性の評価結果
・欠陥情報(登録日、修正日、重大度など)
・ユーザアンケート結果 ・機能改善要望 など
Lv3 ・ソースコード
Lv2
Lv2. 欠陥数推移による信頼性評価
予測欠陥数の変動欠陥数と予測モデル
K. Honda, et al., Predicting Time Range Based on Generalized Software Reliability Model , APSEC’14
Lv3. ソースコードの品質評価
15
• 静的解析ツールを用いた品質評価
– 7副特性、38メトリクス
• 例
– 変更性: コメント比率、子クラスの数 ほか
– 解析性: サイクロマティック複雑度 ほか
void foo(int p){
if (p < LIMIT){
bar();
} else {
baz();
}
}
= 2
Lv1-3. 実態分析に向けて
16
被使用外部ファイル率
関数
再利
用率
呼出し関数の数
実
測
値
予測値
鷲崎弘宜,田邉浩之, 小池利和,”ソースコード解析による品質評価の仕組み“, 日経エレクトロニクス, 2010年1月25日号
鷲崎弘宜, 小池利和, 波木理恵子, 田邉浩之, "C言語プログラムソースコードの再利用性測定法とその評価", JaSST'09
関係分析
品質ポジ
ション
件数
測定値
void foo(int p){
if (p < LIMIT){
bar();
} else {
baz();
}
}
目次
• 調査プロジェクトの概要
• 測定
• 個別評価と実態分析
• まとめとお願い
17
まとめとお願い
• 品質実態調査
– パッケージ/SaaS、40製品、内部・外部・利用時の
品質、PSQ認証も!
– 標準的、網羅的、納得感、客観的
– 現在トライアル中。今秋、本調査開始予定。
• お願い
– 本調査にご興味を持たれましたら、ぜひアンケート
用紙に連絡先をご記入ください。
– 折り返し、早稲田大学またはCSAJ担当より詳細を
ご連絡します。 18

IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み