2013 ソフトウェア品質の第三者評価のための基盤...

20
2013年度ソフトウェア工学分野の先導的研究支援事業 2013 年度 ソフトウェア工学分野の先導的研究支援事業 ソフトウェア 品質の第三者評価のための基盤技術 -ソフトウェアプロジェクトトモグラフィ技術の高度化- 奈良先端科学技術大学院大学 情報科学研究科 ソフトウェア工学研究室 松本健一

Upload: others

Post on 07-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2013 ソフトウェア品質の第三者評価のための基盤 …2013年度ソフトウェア工学分野の先導的研究支援事業 5 【1】研究概要 研究目標 目標

2013年度ソフトウェア工学分野の先導的研究支援事業

2013年度ソフトウェア工学分野の先導的研究支援事業

ソフトウェア品質の第三者評価のための基盤技術-ソフトウェアプロジェクトトモグラフィ技術の高度化-

奈良先端科学技術大学院大学

情報科学研究科

ソフトウェア工学研究室

松本健一

Page 2: 2013 ソフトウェア品質の第三者評価のための基盤 …2013年度ソフトウェア工学分野の先導的研究支援事業 5 【1】研究概要 研究目標 目標

2013年度ソフトウェア工学分野の先導的研究支援事業 2

あらまし

【1】 研究概要(内容、目標、課題等)

6つの研究項目毎に

【2】 研究成果,成果発表等

【3】 成果の活用見込み

【4】 まとめ

Page 3: 2013 ソフトウェア品質の第三者評価のための基盤 …2013年度ソフトウェア工学分野の先導的研究支援事業 5 【1】研究概要 研究目標 目標

2013年度ソフトウェア工学分野の先導的研究支援事業

【1】 研究概要

Page 4: 2013 ソフトウェア品質の第三者評価のための基盤 …2013年度ソフトウェア工学分野の先導的研究支援事業 5 【1】研究概要 研究目標 目標

2013年度ソフトウェア工学分野の先導的研究支援事業 4

【1】研究概要

ソフトウェアプロジェクトトモグラフィ

ソフトウェア開発プロジェクトをスナップショットの系列で表現.

「開発管理」のために収集・蓄積されているプロジェクトデータを,「解析と可視化」に都合の良い形式に変換.

品質の第三者評価に必要となる「ソフトウェアプロジェクトデータの提供」及び「提供されたデータに基づくプロジェクト理解」を容易に.

プロジェクトデータクラウド(リポジトリ)

スナップショットの系列

ソフトウェアプロジェクト

要件 作業 組織 プロダクト 課題

構成管理システム 工程管理システム 不具合管理システム

構成管理データ 工程管理データ 不具合管理データ

・・・

・・・

プロジェクトの実体

マネージド・データとして表現されたプロジェクト

スナップショットの集合体として表現されたプロジェクト

時間の進行

クラウド型開発管理環境

Page 5: 2013 ソフトウェア品質の第三者評価のための基盤 …2013年度ソフトウェア工学分野の先導的研究支援事業 5 【1】研究概要 研究目標 目標

2013年度ソフトウェア工学分野の先導的研究支援事業 5

【1】 研究概要

研究目標

目標 ソフトウェアプロジェクトトモグラフィ技術の高度化

学術的にはもちろんのこと,産業界に対してもよりインパクトを与える「ソフトウェア品質の第三者評価の技術基盤」を確立する.

アプローチ ソフトウェアデータマイニング・アナリティクスの最新技術を取り入れる.

「ソフトウェア品質の第三者評価」のニーズやプロセスに焦点をあてる.

第三者評価シナリオに基づく方式設計

準備第三者評価シナリオの策定

プロトタイプシステム実装

実証実験

Page 6: 2013 ソフトウェア品質の第三者評価のための基盤 …2013年度ソフトウェア工学分野の先導的研究支援事業 5 【1】研究概要 研究目標 目標

2013年度ソフトウェア工学分野の先導的研究支援事業 6

【1】 研究概要

研究課題(中間目標)

品質評価の高度化(R1) 欠陥の収束・発散プロセスのトピック別評価(畑)

(R2) 障害の波及度評価(亀井)

検証型解析・可視化技術の高度化(R3) 非機能要件の自動評価(門田)

(R4) 作業解析・可視化システムの多人数対応(上野)

探索型解析・可視化技術の高度化(R5) 低品質モジュールの構造的・時間的特性の解析・可視化(伊原)

(R6) Treemapによる広範で再帰的な解析・可視化(松本)

Page 7: 2013 ソフトウェア品質の第三者評価のための基盤 …2013年度ソフトウェア工学分野の先導的研究支援事業 5 【1】研究概要 研究目標 目標

2013年度ソフトウェア工学分野の先導的研究支援事業

6つの研究項目毎に

【2】 研究成果,成果発表等【3】 成果の活用見込み

Page 8: 2013 ソフトウェア品質の第三者評価のための基盤 …2013年度ソフトウェア工学分野の先導的研究支援事業 5 【1】研究概要 研究目標 目標

2013年度ソフトウェア工学分野の先導的研究支援事業 8

【2】 研究成果,成果発表等

(R1) 欠陥の収束・発散プロセスのトピック別評価

欠陥レポートに基づき,プロジェクト特性に応じた欠陥自動分類を実現し,除去プロセスを可視化した.

成果発表 N. Limsettho, H. Hata, A. Monden, and K. Matsumoto,

“Automatic Unsupervised Bug Report Categorization,” In

Proc. of IWESEP 2014, November 2014.

source internal error

resource leaks and errors

created attachment proposed patchstring boolean int line

external class file folders

0

20

40

60

80

100

120

20

01

20

02

20

03

20

04

20

05

20

06

20

07

20

08

20

09

20

10

20

11

20

12

20

13

Page 9: 2013 ソフトウェア品質の第三者評価のための基盤 …2013年度ソフトウェア工学分野の先導的研究支援事業 5 【1】研究概要 研究目標 目標

2013年度ソフトウェア工学分野の先導的研究支援事業 9

【3】 成果の活用見込み

(R1) 欠陥の収束・発散プロセスのトピック別評価

想定される成果活用

プロジェクト特有の欠陥の発生数や除去率から,開発プロセスの実施状況や妥当性を(第三者)評価し,開発プロセスを改善する.

欠陥除去プロセスそのものの妥当性を(第三者)評価し,開発プロセスを改善する.

成果を産業界に導入しやすくする工夫 コア技術「欠陥トピック分類」を自動化した.

ツールを広く公開する(予定).

0

3

69

121518

0

50

100

150

20

01

20

02

20

03

20

04

20

05

20

06

20

07

20

08

20

09

20

10

20

11

20

12

20

13

Page 10: 2013 ソフトウェア品質の第三者評価のための基盤 …2013年度ソフトウェア工学分野の先導的研究支援事業 5 【1】研究概要 研究目標 目標

2013年度ソフトウェア工学分野の先導的研究支援事業 10

全体

修正期間(日)

波及度1e+00 1e+03 1e+06 1e+09

02

00

40

06

00

80

01

00

01

20

01

40

0entropy(unique_user*frequency

fix_

pe

riod

(day)

html

トピック

修正期間(日)

波及度

【2】 研究成果,成果発表等

(R2) 障害の波及度評価

波及度と障害除去順序の関係を可視化し,障害除去順序の妥当性の評価,議論を容易にした.

成果発表

小須田,亀井,鵜林,“クラッシュレポートの送信頻度と不具合との関連付けに関する実証的評価”,コンピュータソフトウェア (投稿予定).

Page 11: 2013 ソフトウェア品質の第三者評価のための基盤 …2013年度ソフトウェア工学分野の先導的研究支援事業 5 【1】研究概要 研究目標 目標

2013年度ソフトウェア工学分野の先導的研究支援事業 11

【3】 成果の活用見込み

(R2) 障害の波及度評価

想定される成果活用

ユーザから発信される「クラッシュレポート」に基づいて,ソフトウェア障害の除去順序の妥当性を評価する,障害報告時の対応に関する改善点を指摘する.

成果を産業界に導入しやすくする工夫 トピック別の波及度計測・表示をWebサービス化する(予定).

Page 12: 2013 ソフトウェア品質の第三者評価のための基盤 …2013年度ソフトウェア工学分野の先導的研究支援事業 5 【1】研究概要 研究目標 目標

2013年度ソフトウェア工学分野の先導的研究支援事業 12

【2】 研究成果,成果発表等

(R3) 非機能要件の自動評価

RFP上の非機能要件26個の自動評価を実現した. 適用対象RFP70件.

図書館情報システム11件,病院情報システム10件,大学情報システム8件,政府機関情報システム14件,自治体基幹情報システム10件,地方自治体業務システム14件,その他情報システム3件

評価精度は手動評価と同等.

成果発表

齊藤康廣,ソフトウェア開発の超上流工程における非機能要件の定量的評価,博士学位論文,奈良先端科学技術大学院大学,2015年3月.

0.00

0.50

1.00

1.50

2.00

2.50オペレーション指標

応答性指標システム性能指標

負荷バランス指標

稼働品質指標

障害要因指標

運用管理指標

システム管理指標

不正アクセス指標

アクセス権限指標

セキュリティ管理レベル指標

セキュリティ対応指標認証機能指標

パスワード管理指標ウイルス対策指標

情報漏洩対策指標

暗号処理指標

冗長化指標

RAID構成指標

バックアップ管理指標

バックアップシステム指標

障害対策指標

障害管理指標

停止処理指標

リカバリ処理指標パッチ処理指標

自動評価 手動評価

0.00

0.50

1.00

1.50

2.00

2.50オペレーション指標

応答性指標システム性能指標

負荷バランス指標

稼働品質指標

障害要因指標

運用管理指標

システム管理指標

不正アクセス指標

アクセス権限指標

セキュリティ管理レベル指標

セキュリティ対応指標認証機能指標

パスワード管理指標ウイルス対策指標

情報漏洩対策指標

暗号処理指標

冗長化指標

RAID構成指標

バックアップ管理指標

バックアップシステム指標

障害対策指標

障害管理指標

停止処理指標

リカバリ処理指標パッチ処理指標

自動評価 手動評価

Page 13: 2013 ソフトウェア品質の第三者評価のための基盤 …2013年度ソフトウェア工学分野の先導的研究支援事業 5 【1】研究概要 研究目標 目標

2013年度ソフトウェア工学分野の先導的研究支援事業 13

【3】 成果の活用見込み

(R3) 非機能要件の自動評価

想定される成果活用 (上流の)各工程において,RFP,契約書,要求仕様書などにおける非機能要件の記述品質を(第三者が)評価する.

成果を産業界に導入しやすくする工夫 自動評価モデル構築用データを公開する.

データ公開Web http://se-naist.jp/NFR/

計画 プロポーザル 設計・製作 保守・運用テスト

契約 運用

RFP 契約書

企画書

提案書 要求仕様書

TEST

仕様書

保守・運用

マニュアルCODE

ユーザ要件 要件定義

Page 14: 2013 ソフトウェア品質の第三者評価のための基盤 …2013年度ソフトウェア工学分野の先導的研究支援事業 5 【1】研究概要 研究目標 目標

2013年度ソフトウェア工学分野の先導的研究支援事業 14

【2】 研究成果,成果発表等

(R4) 作業解析・可視化システムの多人数対応

アプリ履歴とハッシュを記録,検証するサーバ/クライアントシステムを実現した. クライアントの改ざん検出,アプリ履歴のハッシュ収集と改ざん検出により,開発データの信頼性を保証する.

機械学習により,アプリ履歴と開発作業の自動マッピングを90%超の精度で可能にした.

成果発表 池田,上野,“第三者によるソフトウェア開発作業評価のための作業記録の保護手法”,情処研報,Vol.2014-SE-185,No.2,2014.

改ざんされたクライアントの拒否

改ざんされたアプリ履歴の検出

クライアントからのハッシュを収集

Page 15: 2013 ソフトウェア品質の第三者評価のための基盤 …2013年度ソフトウェア工学分野の先導的研究支援事業 5 【1】研究概要 研究目標 目標

2013年度ソフトウェア工学分野の先導的研究支援事業 15

【3】 成果の活用見込み

(R4) 作業解析・可視化システムの多人数対応

想定される成果活用

改ざんの無い,分単位の作業履歴に基づいて,開発行動を分析・可視化することで,発注者/受注者間における情報の非対称性を解消する.

発注者に対して作業品質を保証する情報を提供する.

労務管理データを補完し,分単位での工数管理を行う.

成果を産業界に導入しやすくする工夫 インストーラを併せて提供する.

第三者(評価組織)

評価者ハッシュ値検証

ソフトウェア開発組織

作業履歴

作業履歴の取得

開発者

改ざんのないデータに基づいた評価

#nR3Q

vy#nR3Qvy

#nR3Qvy

管理者

ハッシュ値

細粒度の作業履歴を低コストで収集

分析

タイムスタンプ付与

Page 16: 2013 ソフトウェア品質の第三者評価のための基盤 …2013年度ソフトウェア工学分野の先導的研究支援事業 5 【1】研究概要 研究目標 目標

2013年度ソフトウェア工学分野の先導的研究支援事業 16

【2】 研究成果,成果発表等

(R5) 低品質モジュールの構造的・時間的特性の解析・可視化

ソースコードメトリクスの標準値域を明らかにし,人口ピラミッドグラフで可視化した.

成果発表 藤野,坂口,Yongpisanpop,伊原,松本,“偏差値メトリクスを用いた欠陥モジュール予測モデルの提案”,ウィンターワークショップ2015・イン・宜野湾論文集,2015月1月.

複雑度 実行可能コード行数 クラス数 関数の数 空白行数 コード行数 宣言コード数

実行可能ステートメント行数

宣言ステートメント数

コメント数 変更行数 追加行数 削除数

欠陥なしモジュールの標準値域

欠陥ありモジュールの標準値域

欠陥あり標準値域の中央値に近いモジュールは低品質モジュールの可能性が高い

Page 17: 2013 ソフトウェア品質の第三者評価のための基盤 …2013年度ソフトウェア工学分野の先導的研究支援事業 5 【1】研究概要 研究目標 目標

2013年度ソフトウェア工学分野の先導的研究支援事業 17

【3】 成果の活用見込み

(R5) 低品質モジュールの構造的・時間的特性の解析・可視化

想定される成果活用 標準値域に基づき,ソースコードの品質を第三者視点で評価,分析する.

11個のメトリクス(観点)で欠陥の原因を詳細に評価,分析できる.

成果を産業界に導入しやすくする工夫

偏差値メトリクスにより,開発データの蓄積のない組織・プロジェクトでも,(開発規模に関係なく)低品質モジュール予測を可能としている.

OSSにおける標準値域をwebで公開する.

低品質モジュール予測をWebサービス化する(予定).

Page 18: 2013 ソフトウェア品質の第三者評価のための基盤 …2013年度ソフトウェア工学分野の先導的研究支援事業 5 【1】研究概要 研究目標 目標

2013年度ソフトウェア工学分野の先導的研究支援事業 18

【2】 研究成果,成果発表等

(R6) Treemapによる広範で再帰的な解析・可視化

多様な量的属性の探索的可視化ツールとして実現した. 俯瞰視点の自在な切り替え.

偶発的発見を促すユーザインタフェース.

Page 19: 2013 ソフトウェア品質の第三者評価のための基盤 …2013年度ソフトウェア工学分野の先導的研究支援事業 5 【1】研究概要 研究目標 目標

2013年度ソフトウェア工学分野の先導的研究支援事業 19

【3】 成果の活用見込み

(R6) Treemapによる広範で再帰的な解析・可視化

想定される成果活用

モジュールごとの主要な開発者や,バグ報告数など,単純な俯瞰を連続で可視化し,プロジェクトの全体像をすばやく把握する.

第三者評価の初期段階において,開発データ・属性間の関係に関する仮説を生成する.

「外れ値」(Treemap上で面積が極端に大きい,あるいは,小さいグループ間で偏りがある)に基づく仮説.

「偶発的発見」(ランダムズームイン・ズームアウト)に基づく仮説.

成果を産業界に導入しやすくする工夫 ソースコードの公開や再利用を意識してシステムの設計,実装を行った.

実装言語ProcessingはJavaの派生言語であり,Javaから直接利用可能である.

javascript用ライブラリを利用することで,Webアプリ化も可能である.

Page 20: 2013 ソフトウェア品質の第三者評価のための基盤 …2013年度ソフトウェア工学分野の先導的研究支援事業 5 【1】研究概要 研究目標 目標

2013年度ソフトウェア工学分野の先導的研究支援事業 20

【4】 まとめ

ソフトウェアプロジェクトトモグラフィ技術の高度化 学術的なチャレンジ

トピックモデリング,人口ピラミッドグラフの応用

クラッシュレポートの活用

機械学習による自動評価,自動マッピング

産業界へのインパクト

企業実務者へのインタビュー等に基づく技術利用シナリオの作成

企業における実証実験

例:稼働率や作業内容を第三者が把握可能であることを確認.

ツール化,Webサービス化による成果公開0

100

200

300

400

500

600

700

800

L1 L2 L3 A1 A2 A3 B1 B2 B3 B4 CS1 CS2

登録外

DB操作

エディタ

文書閲覧

ワード・パワポ

メール

プログラミング・デバッグ

ブラウザ

ファイル操作

テスト

エクセル

勤務時間

開発A納期近い

開発B納期遠い

リーダー

顧客窓口

0

3

69

121518

0

50

100

150

20

01

20

02

20

03

20

04

20

05

20

06

20

07

20

08

20

09

20

10

20

11

20

12

20

13

改ざんされたクライアントの拒否

クライアントからのハッシュを収集

全体

修正期間(日)

波及度

複雑度 追加行数

0.00

0.50

1.00

1.50

2.00

2.50オペレーション指標

応答性指標システム性能指標

負荷バランス指標

稼働品質指標

障害要因指標

運用管理指標

システム管理指標

不正アクセス指標

アクセス権限指標

セキュリティ管理レベル指標

セキュリティ対応指標認証機能指標

パスワード管理指標ウイルス対策指標

情報漏洩対策指標

暗号処理指標

冗長化指標

RAID構成指標

バックアップ管理指標

バックアップシステム指標

障害対策指標

障害管理指標

停止処理指標

リカバリ処理指標パッチ処理指標

自動評価 手動評価