View
475
Download
0
Category
Preview:
DESCRIPTION
Citation preview
発表論文• タイトル
「Feature Cohesion in Software Product Lines:
An Exploratory Study」
(プロダクトライン中のフィーチャ凝集度:探索的試験)
• 著者
– Sven Apel, Dirk Beyer
University of Passau, Germany
Simon Fraser University, B.C., Canada
• 出典
– 33rd International Conference
on Software Engineering(ICSE 2011) 0
概要
• 目的
→ SPL化されたシステムの再利用のしやすさを
分析するため
• 手法
→ 40本のSPL化された製品の
「フィーチャ凝集度」を調査・分析
• 結論
→ 「フィーチャ凝集度」に関する、6つの知見を示した1
SPL(Software Product Line)
• 既存システムを再利用して、システム開発
2
再利用資産の開発
新製品の開発
いかに効率よく再利用資産を作れるか
再利用資産の開発にあたって
• 再利用する機能の範囲を明確化する
→例:時計の「時刻表示機能」
3
「時計クラス」と「アラームクラス」の両方に影響
「時刻表示クラス」のみ影響
フィーチャ凝集度
SPLでは再利用する機能の範囲が重要
機能の範囲は、「フィーチャ凝集度」で計測可能
「フィーチャ凝集度」について、
ほとんど議論されていない4
アプローチ
40本のSPL化された製品の、
フィーチャ凝集度を計測
5
1. 「40本の製品」とは?
2. 「 SPL化された」とは?
3. どうやって計測する?
1. 「40本の製品」とは
6
プログラミングツール
ネットワーククライアント
テキストエディタ
ゲーム
• コード行数
– Max:64652
– Min:99
• フィーチャ数
– Max:99
– Min:4
• 開発方法
– S:1から開発
– R:改良開発
※全部JAVA
2. 「SPL化された製品」とは
• 似たようなシステム同士には、共通する機能がある
• 似たようなシステムでも、製品によって個性がある
類似既存システムを結合し、
共通部分と製品固有部分を明確化する
SPL化された製品
→類似既存システムを結合した万能システム7
3. Layout-based Clusteringによる凝集度計測
• Layout-based Clustering
→要素を複数のクラスタに分けて、
関連する要素間の距離に基づいて凝集度を計測
8
Bali
→要素間の距離が離れている→凝集度が低い
BaliBuild
→要素間の距離が近い→凝集度が高い
FeatureVisu(Layout-based Clustering tool)
• CCVisuのクラスタリング・エネルギー・モデル
(by Andreas Noack)を拡張
9
エネルギー 要素vと要素w間のユークリッド距離
バイアス回避用の重みづけ
U(p) = (要素間の引きつけ合う力の合計)ー (要素間の反発しあう力の合計)
フィーチャ凝集度計測に使われる指標1
• IFD/EFD(Internal/External-ratio Feature Dependency)
→ 要素間の依存関連数のみに基づく指標
10
関連しているフィーチャ内の要素
フィーチャ内の全要素
フィーチャ内外の全要素
26
324
3
フィーチャ凝集度計測に使われる指標2
11
• IFDw/EFDw(Distance-based IFD/EFD)
→ 依存要素間の距離に基づく指標
フィーチャ内の全要素
関連しているフィーチャ内の要素との距離の和
フィーチャ内外の全要素との距離の和
24
244
1412244
244
1. フィーチャ内の全要素が入る円を描く(このとき、一番外側の要素が円周上にくるようにする)
2. 円の半径をNMRとする3. 円の中心から各要素間の距離を割り
出し、その平均をNARとする
フィーチャ凝集度計測に使われる指標3
12
• NAR/NMR(Normalized Average/Maximum Radius)
→ フィーチャの半径に基づく指標
Fを中心とした平均の半径 Fを中心とした最大の半径
40本の製品の凝集度の比較1
• 全製品通してIFDよりEFDの方が1に近い
13
40本の製品の凝集度の比較2
• 全製品通してIFDwよりEFDwの方が1に近い
14
40本の製品の凝集度の比較3
• 全製品通してNARもNMRも似たような値
15
40本の製品の凝集度の比較4
• 他にもいろいろと比較
16
6つの知見
1. いずれの凝集度においても、各製品間に統計的に有意な
違いが見られた
2. 各凝集度は互いに相関していない
– 平均値は NAR,NMR > IFD,IFDw > EFD,EFDw
3. IFD/EFDとIFDw/EFDwの違いはわずか
4. 各凝集度の相関は
– IFD,IFDw:フィーチャ数に相関
– EFD,EFDw:製品のコード行数に負の相関
– NAR,NMR:フィーチャのコード行数に負の相関
5. リファクタリングされて作られた製品の凝集度がかなり高い
6. ツールスイート間のSPLはスクラッチ・リファクタリング開発に
関わらずよく似ている 17
まとめ
SPLでは再利用する機能の範囲が重要
機能の範囲はフィーチャ凝集度で計測可能
40本のSPL化された製品のフィーチャ凝集度
を計測
6つの知見を示した18
私見
• 長所
–筆者が関連研究を十分に調査している
– SPLの分野で初めて凝集度に着目した
–最後に知見としてわかったことをまとめている
• 短所
–説明が省略されていて、既存研究を理解しないと本質がわからない
–特に研究背景の説明がほとんどない19
Recommended