• 検索結果がありません。

データマイニング手法を用いたプロダクトメトリクスの類似性に基づくソフトウェアインスペクション方法の提案

N/A
N/A
Protected

Academic year: 2021

シェア "データマイニング手法を用いたプロダクトメトリクスの類似性に基づくソフトウェアインスペクション方法の提案"

Copied!
2
0
0

読み込み中.... (全文を見る)

全文

(1)情報処理学会第 76 回全国大会. 6A-2. データマイニング手法を用いたプロダクトメトリクスの類似性 に基づくソフトウェアインスペクション方法の提案 西川 雅彦†. 青山 幹雄‡. 南山大学 大学院 数理情報研究科† 南山大学 情報理工学部 ソフトウェア工学科‡. 1.はじめに ソフトウェアの再利用によって開発が進行すると再 利用元で発見できなかったバグが再利用先に継承さ れる.再利用元と再利用先のプロダクトメトリクス類似 性に注目し,データマイニング手法を用いたインスペ クション方法を提案する.. 2 関連研究 (1)ソフトウェア欠陥の有無を推定する研究がある[1]. (2)インスペクションの工数最適化の研究がある[2].. 3.アプローチ. Weka に実装されている複数の予測アルゴリズムを 数種類選択し,再利用元と再利用先の類似度の予 測値を評価し,Rating を比較することで最も精度が高 いアルゴリズムを選択する. (3)メトリクスデータ管理 再利用元と再利用先のバグ発生原因のプロセス情 報メトリクスをデータベースで管理し,Weka の木構造 解析を行うことで,再利用元と再利用先について統 計的手法を用いて比較,検証する.. 5.実データへの提案方法の適用. 5.1.データセット ソフトウェアのメトリクスとバグデータとして Promise Software Engineering Repository[4] を利用する対象 は,宇宙機器(CM1,KC1),科学データ処理(KC2), 機載ソフトウェアである. 4.データマイニングに基づく分析方法の提案 5.2.仮説 1 構造類似バグの検証 データベース化された再利用元と再利用先のメトリ 再利用元と再利用先を比較し,予測アルゴリズム クスをデータマイニング手法によって類似度比較し, によってメトリクスの類似度を評価する. プロセス類似バグと構造類似バグに分類することでイ (1)検証方法 ンスペクション精度の向上策を提案する(図 1). 複数あるソフトウェアの中から,複雑度メトリクスの 構造類似 予測 (1) ソフトウェア類似度検出 予測値が最も近いソフトウェアを同レベルのプロダクト 最適予測アルゴ 再利用先ソースコー 第2メトリクス バグ予測分析結果 リズム適用 ド゙・プロセス情報 データとして再利用元と再利用先の予測値を求める. インスペクション重点 目標の決定 複雑度メトリクスによる予測値が, 予測モデル作成 説明変数 最適予測アルゴ 再利用元ソフトウェア 再利用元予測値> 再利用先予測値 第1メトリクス リズムの選択 再利用ソフトウェア ソースコードDB ソースコード の関係であれば,再利用元ソフトウェアを仕様変更し (2) プロセス類似 or たことでソフトウェア構造が複雑となったことを表す. 応用変数 再利用元ソフトウェア 再利用ソフトウェア 第3メトリクス プロセス情報DB プロセス ソフトウェアモジュール中にバグの発生割合が, (3) プロセス類似バグ 構造類似バグ 再利用元 < 再利用先 プロダクトA プロダクトB プロダクトA プロダクトB の関係であれば,再利用先でバグが引き継がれてい 再利用元 再利用 ソフトウェア ソフトウェア ると定義する. ソフトウェアの構造の類似度に着目し,イン (2)最適アルゴリズムの選択 スペクションを提案 プロセスの類似度に着目し、インスペクションを提案 最適アルゴリズムの選択方法としては,Weka の類 図 1 データマイニングに基づく分析方法の提案 似度予測結果の各項目の精度に Rating を付与し,平 (1)ソフトウェアの類似度の検出 均が最大値 10 に近ければ最適アルゴリズムとなる. 仮説 1 構造類似バグに基づき,バグが発生したメ Weka で実装されている各カテゴリで代表的なアル トリクスの類似度に着目し,Weka [3]を利用して潜在 ゴリズムを比較したところ,MultilayerPerceptron が平 する再利用先のバグを明らかにする.ソフトウェアの 均 10 であり,最も予測値が高いことが分かった. 類似度予測値を評価し,Rating 比較することでソフト (3)類似プロダクトデータの選出 ウェアの類似度を検証する. 最適アルゴリズム MultilayerPerceptron を使用して (2)最適アルゴリズムの選択 複雑度メトリクスの予測値を算出し,得られた予測値 A Software Inspection Method Based on the Structural Similarity をもとに Rating を付与したところ,同レベルの類似度 of the Components Using Data Mining Method †Masahiko Nishikawa, Graduate School of Mathematical のソフトウェアが CM1,KC1,KC2 であった.この 3 データマイニング手法を用いてプロダクトの類似度 でバグ発生を予測する.仮説検証として,仮説 1 は, 再利用ソフトウェアとの類似度,仮説 2 では,再利用 元と再利用先とのプロセスの類似度を明らかにする.. 要求定義. システムテスト. インスペクション. 要求定義. システムテスト. インスペクション. 結合テスト. アーキテクチャ設計. インスペクション. 結合テスト. アーキテクチャ設計. インスペクション. 設計. 単体テスト. インスペクション. コード. 設計. 単体テスト. インスペクション. コード. Sciences and Information Engineering Nanzan University ‡Mikio Aoyama, Dep. of Software Engineering Nanzan University. 1-235. Copyright 2014 Information Processing Society of Japan. All Rights Reserved..

(2) 情報処理学会第 76 回全国大会. つの類似プロダクトデータを再利用元と再利用先デ ータの定義候補のソフトウェアとした. (4) 再利用先と再利用元ソフトウェアの定義決め ソフトウェアを再利用すると,ソフトウェア構造が複 雑化して各データ間の類似度が低くなる.したがって 複雑度を表すメトリクスとバグ発生の有無に限定し, Weka の予測結果を基に類似度に対して Rating を付 与した.Rating 3.0 に近ければ、複雑度が低く,仕様 変更前の再利用元ソフトウェアと定義できる(表 1). 再利用元 Rating > 再利用先 Rating の関係が成り立てば,類似度の高低によって仕様変 更前後の関係となる. 表 1 仕様変更前後のソフトウェアの定義結果 再利用先ソフト 再利用元ソフ Rating Avg. Rating Avg. ウェア トウェア CM1 2.5 KC1 2.0 CM1 2.5 KC2 1.5 KC1 2.0 KC2 1.5. (5)再利用先から再利用元へのバグ引継確認結果 各ソフトウェアモジュール単位のバグ発生割合を求 めた(表 2).次に①再利用元のバグの発生割合と② 再利用先のバグ発生割合を比較すると①<②の関 係が成立し,類似度比較によってバグ引継が確認で きることを明らかにした(表 3). 表 2 各ソフトウェアモジュール中のバグ発生割合 Category CM1 KC1 KC2. ①バグなし ②バグあり モジュール数 モジュール数 449 49 1783 326 415 107. ②/①*100 10.9 % 18.3 % 25.8 %. 表 3 再利用先から再利用元へのバグ引継確認結果 ①再利用元ソ バグの発生 ②再利用ソフト バグの発 ①②の関係 フトウェア 割合 ウェア 生割合 性 CM1 10.9 KC1 18.3 ①< ② CM1 10.9 KC2 25.8 ①< ② KC1 18.3 KC2 25.8 ①< ②. 5.3.仮説 2 プロセス類似バグの検証 バグの原因を①要求定義のエラー,②コードエラ ー,③仕様書のエラーのいずれかのエラーであるか Weka の木構造によって検証する. (1)検証方法 再利用先でバグが発生したデータを①~③に分 類し、データベース化した. (2)最適アルゴリズムの選出 Weka で実装されている Trees のカテゴリを代表す るアルゴリズムで分類精度の確認を行ったところ, J48-C 0.25-M2(以下 J48)が最も高いことが分かった. Trees 以外のアルゴリズムには,J48 よりも高い分類 精度を持つものがある.予測値比較すると平均 0.963 であり,有意水準 95%以内で信頼区間を得ているた め J48 の予測アルゴリズムは妥当性を得る.. 6.評価結果 (1)バグ原因の層別化 図 2 に示す通り,Weka に実装されている木構造 の視覚化により,バグ発生の要因を解析する.再利. 用ソフトウェアで発生したバグの中から発生原因を① 要求定義のバグ,②コードバグ,③仕様書バグに層 別し再利用元プロセスの問題点を明らかにする.. 図 2 木構造のビジュアル結果 (2)バグ発生箇所の読み取り 表 4 に示す通り,再利用先バグの原因の中に,ソ フトウェア要求仕様定義に基づいたプロセスが存在し ているときの分類精度を表している. ①より,要求定義のバグは,クラスに属する総数に対 して,50%正しい結果が得られていないので除外. ②より,コードのバグは,再利用元に要求仕様の定義 が無くても,再利用プログラムのバグを引き継ぐ. ③より,仕様書のバグは,再利用元に要求定義があり, 要求定義と仕様書に乖離がある.仮説 2 のプロセス の類似性については①,②,③のいずれかが再利用 元プロセスと同じであれば,バグの発生を回避するこ とができない.これにより,ソフトウェアの複雑性に起 因するバグが発生している可能性が明らかとなった. これにより,バグが発生した再使用元と再使用ソフ トとの類似性が高ければバグ発生の可能性が高まり, プロセスに課題があれば,再利用時にバグを引き継 がれることが明らかとなった. 表 4 バグ発生原因と要求仕様プロセス有無の分類 バグ原因. ① ② ③. 要求定義のバグ(define error) コードのバグ(code error) 仕様書のバグ(spec error). YOKOTEN制御に基づいた クラスに属する 間違った分類 (B)/(A)% 要求仕様の有無 インスタンス(A) (B) × 2 1 50 × 2 0 100 ○ 4 0 100. 7.まとめ 統計的観点からデータマイニングツールを活用し, 簡易な分析によってソフトウェア開発手法とソフトウェ アコードの類似度を比較し,バグが発生する要因を 特定,予測を行うことでソフトウェアインスペクション精 度を向上する手法を提案した.. 参考文献 [1] R. Subramanyan, et al., Empirical Analysis of CK Metrics for Object-Oriented Design Complexity, IEEE TOSE., Vol. 29, No. 4, 2003, pp. 297-310. [2] 阿萬 祐久, 山下 裕也, 整数計画法を用いた重 点レビュー対象モジュールの選択, コンピュータソ フトウェア, Vol. 27, No. 4, 2010, pp. 240-245. [3]Weka: Univ. of Waikato, http://www.cs.waikato.ac.nz/ml/weka/. [4] J. S. Shirabad, et al., The PROMISE Repository of Software Engineering Databases, Univ. of Ottawa, http://promise.site.uottawa.ca/SERepository/.. 1-236. Copyright 2014 Information Processing Society of Japan. All Rights Reserved..

(3)

参照

関連したドキュメント

 基本波を用いる近似はピクセル単位の時間放射能曲線に対しては用いることができる

ひかりTV会員 提携 ISP が自社のインターネット接続サービス の会員に対して提供する本サービスを含めたひ

本装置は OS のブート方法として、Secure Boot をサポートしています。 Secure Boot とは、UEFI Boot

これはつまり十進法ではなく、一進法を用いて自然数を表記するということである。とは いえ数が大きくなると見にくくなるので、.. 0, 1,

本表に例示のない適用用途に建設汚泥処理土を使用する場合は、本表に例示された適用用途の中で類似するものを準用する。

4) は上流境界においても対象領域の端点の

2 解析手法 2.1 解析手法の概要 本研究で用いる個別要素法は計算負担が大きく,山

現状の課題及び中期的な対応方針 前提となる考え方 「誰もが旅、スポーツ、文化を楽しむことができる社会の実現」を目指し、すべての