相関ルールに対するクラスタ分析によるソフトウェアプロジェクトのリスク抽出
出 張 純 也†1 菊 野
菊 地 奈 穂 美†3亨†1 水 野平 山 雅 之†3修†2

本稿では，ソフトウェア開発プロジェクトの好ましくない状況を抽出を目的として，ソフトウェア開発プロジェクトで収集されたデータに対して相関ルールマイニングを行った．さらに，抽出されたルールを集約するために，ルールに対するクラスタ分析を行った．ワークショップではその効果や妥当性について議論を行いたい．

Extracting Risk Factors of Software Projects by Clustering Association Rules
J UNYA D EBARI ,†1 T OHRU K IKUNO ,†1 O SAMU M IZUNO ,†2
NAHOMI K IKUCHI †3 and M ASAYUKI H IRAYAMA†3In this paper, we applied association rule mining to the data collected from software development projects
for the purpose of extracting the risks of software development projects. In addition, we applied the clustering analysis to the extracted data. We want to discuss the effect and the validity of clustering rules.

1. 議論したい課題

タを有効に活用してプロジェクトを制御するための手法の確立が求められている．

ワークショップでは，2，3 節に述べる現時点までの従来研究 [4] では，ソフトウェア開発プロジェクトの研究を通じて生じた以下の課題に関して議論を行い早期に行う問題分析アンケートに対して相関ルールマたい．

イニングを適用することでリスク要因とプロジェクト• ソフトウェア開発データに対して，そこからマイニングを実施することの意義について• 相関ルールマイニングを実施する際のパラメータ設定について• 相関ルールをクラスタ分析する際に，樹形図から情報を取り出す方法について• 相関ルールをクラスタ分析する効果について

2. ソフトウェア開発データのマイニング

混乱の関係の抽出を試み，リスク要因を複数抽出した．
本稿では，IPA/SEC の 2008 年版データ白書 [3] のデータに対して相関ルールマイニングを適用して，プロジェクトが失敗する条件を示す相関ルールを抽出し，得られたルールに対してクラスタ分析を適用することで，ソフトウェアプロジェクトのリスク要因を抽出する事を目指している．

2.2 相関ルールマイニング
相関ルールマイニングは，事象間の強い関係を相関2.1 研究の背景

ルールの形で発見する，データマイニング手法の一つ

ソフトウェア開発の現場では，混乱状態の回避が急である．A ⇒ B という形で表される相関ルールは，A務である．そのため，現場で観察収集される様々なデー†1 大阪大学 大学院情報科学研究科
Graduation School of Information Science and Technology, OsakaUniversity†2 京都工芸繊維大学 大学院工芸科学研究科
Graduate School of Science and Technology, Kyoto Institute ofTechnology†3 情報処理推進機構 ソフトウェア・エンジニアリング・センター
Information-Technology Promotion Agency Software Engineering
Centerという事象が発生した場合に B という事象が発生することを意味しており，A を前提，B を結論と呼ぶ．
この相関ルールを評価するパラメータとして，支持度 (support)，信頼度 (conﬁdence)，リフト (lift) がある．
相関ルールマイニングの問題点として，これらのパラメータの設定によっては，大量のルールが抽出されたり類似したルールが多数抽出されたりするということが挙げられる．類似したルールを集約する方法とし

て，本稿では相関ルールをクラスタ分析するという方

合原因数1 =多い』，最低支持度を 0.1，最低信頼度を法を採用している．

0.9 として相関ルールマイニングを行った．その結果，

2.3 クラスタ分析

251 件の相関ルールを得た．得られた相関ルールの例

クラスタ分析とは，個体間の距離を基に類似度の高い個体同士を集めてクラスタを作り，対象である個体を分類するデータ分析手法である [2]．相関ルールのを以下に示す．

• 設計支援ツールの利用 = 無し ∧ ユーザ担当
者のシステム経験 = 経験が不十分 → 発生不クラスタ分析を行う手法としては Gupta らが距離を使ったクラスタリングを提案しており [1]，2 つの相関ルール r1 と r2 の距離 d(r1 , r2 ) を次のように定義し具合原因数 = 多い• 開発プロジェクトチーム内での役割分担・責任所在の明確さ = 不明確 ∧ ユーザ担当者のている．

|N (r1 ) ∩ N (r2 )||N (r1 ) ∪ N (r2 )|ここで，N (r1 ) は相関ルール r1 に含まれる要素の集d(r1 , r2 ) =合である．本稿では，この距離を相関ルール間の距離として利用する．
クラスタ間の距離の求め方には，最小距離法や最大距離法などがあるが，本研究では最も分類感度が高い方法の一つであるウォード法を用いている．ウォード法は，クラスタ Ci と Cj の距離 D(Ci , Cj ) を次のように設定する．

D(Ci , Cj ) = E(Ci ∪ Cj ) − E(Ci ) − E(Cj )ただし，E(C) はクラスタ C の全ての要素とクラスタC のセントロイドの距離の二乗の総和である．最も距離の近い二つのクラスタを逐次的に併合し，全ての対システム経験 = 経験が不十分 → 発生不具合

原因数= 多い



次に，抽出された相関ルールに対してクラスタ分析を行った．その結果，相関ルールを葉とする樹形図を得た．得られた樹形図の概形を図 1 に示す．図 1 は得られた樹形図をある高さで切断したものである．樹形図の切断箇所より下部 (図 1 では C1 ～C5 ) がクラスタとなる．上に示した 2 つの相関ルールは，いずれも図1 におけるクラスタ C1 に分類されるルールである．
現在は，得られた樹形図を，事前に取り決めた個数のクラスタに分割される高さで切断し，クラスタに含まれる相関ルールの前提となっている要因を調査することで相関ルールの傾向把握を行っている．

象が一つのクラスタになるまで繰り返す．この結果得られる階層構造が樹形図として得られる．

3. 開発データへの適用
3.1 適用データ
本稿で利用するデータは，IPA/SEC が収集したものである [3]．このデータは国内の企業 20 社から収集さC1C2
図1C3C4C5得られた樹形図れたもので，汎用計算機上で動作するアプリケーションソフトウェアの開発プロジェクトが 95%である．収
集されたプロジェクトの形態は 9 割以上が受託開発である．それぞれのプロジェクトのデータには，規模・工数・工期・不具合数などの量的なプロジェクトデータ項目に加えて，プロジェクト特性を示す質的データが含まれている．収集されたメトリクスの詳細については文献 [3] に詳しいため，ここでは省略する．
相関ルールマイニングは連続値を含むデータを処理できないため，工数などの連続値をとるデータについては全て中央値で 2 分割を行った．また，順序尺度をとるメトリクスについては 2 群の差が少なくなるよう

参 考 文 献1) Gupta, G., Strehl, A. and Ghosh, J.: Distance based clustering of association rules, Proc. of Intelligent Engineering Systems Through Artiﬁcial Neural Networks, Vol.9, pp.
759–764 (1999).
2) 奥野忠一，芳賀敏郎，矢島敬二，奥野千恵子，橋本茂
司，古河陽子：続多変量解析，日科技連出版社 (1976).
3) (独) 情報処理推進機構 ソフトウェア・エンジニアリン
グ・センター：ソフトウェア開発データ白書 2008, 日経BP 社 (2008).
4) 浜野康裕，天嵜聡介，水野修，菊野亨：相関ルールマ
イニングによるソフトウェア開発プロジェクト中のリ
スク要 因の分析，コンピュータソフトウェア， Vol.24,
No.2, pp.79–87 (2007).に 2 分割を行った．

3.2 適 用 結 果
前節で記述したデータに対して，結論を『発生不具1 リリース後 6ヶ月以内に報告された不具合の原因数