20
発表論文 タイトル 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 EngineeringICSE 20110

2011 icse-feature cohesion in software product lines an exploratory study

  • Upload
    n-yuki

  • View
    475

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 2011 icse-feature cohesion in software product lines an exploratory study

発表論文• タイトル

「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

Page 2: 2011 icse-feature cohesion in software product lines an exploratory study

概要

• 目的

→ SPL化されたシステムの再利用のしやすさを

分析するため

• 手法

→ 40本のSPL化された製品の

「フィーチャ凝集度」を調査・分析

• 結論

→ 「フィーチャ凝集度」に関する、6つの知見を示した1

Page 3: 2011 icse-feature cohesion in software product lines an exploratory study

SPL(Software Product Line)

• 既存システムを再利用して、システム開発

2

再利用資産の開発

新製品の開発

いかに効率よく再利用資産を作れるか

Page 4: 2011 icse-feature cohesion in software product lines an exploratory study

再利用資産の開発にあたって

• 再利用する機能の範囲を明確化する

→例:時計の「時刻表示機能」

3

「時計クラス」と「アラームクラス」の両方に影響

「時刻表示クラス」のみ影響

Page 5: 2011 icse-feature cohesion in software product lines an exploratory study

フィーチャ凝集度

SPLでは再利用する機能の範囲が重要

機能の範囲は、「フィーチャ凝集度」で計測可能

「フィーチャ凝集度」について、

ほとんど議論されていない4

Page 6: 2011 icse-feature cohesion in software product lines an exploratory study

アプローチ

40本のSPL化された製品の、

フィーチャ凝集度を計測

5

1. 「40本の製品」とは?

2. 「 SPL化された」とは?

3. どうやって計測する?

Page 7: 2011 icse-feature cohesion in software product lines an exploratory study

1. 「40本の製品」とは

6

プログラミングツール

ネットワーククライアント

テキストエディタ

ゲーム

• コード行数

– Max:64652

– Min:99

• フィーチャ数

– Max:99

– Min:4

• 開発方法

– S:1から開発

– R:改良開発

※全部JAVA

Page 8: 2011 icse-feature cohesion in software product lines an exploratory study

2. 「SPL化された製品」とは

• 似たようなシステム同士には、共通する機能がある

• 似たようなシステムでも、製品によって個性がある

類似既存システムを結合し、

共通部分と製品固有部分を明確化する

SPL化された製品

→類似既存システムを結合した万能システム7

Page 9: 2011 icse-feature cohesion in software product lines an exploratory study

3. Layout-based Clusteringによる凝集度計測

• Layout-based Clustering

→要素を複数のクラスタに分けて、

関連する要素間の距離に基づいて凝集度を計測

8

Bali

→要素間の距離が離れている→凝集度が低い

BaliBuild

→要素間の距離が近い→凝集度が高い

Page 10: 2011 icse-feature cohesion in software product lines an exploratory study

FeatureVisu(Layout-based Clustering tool)

• CCVisuのクラスタリング・エネルギー・モデル

(by Andreas Noack)を拡張

9

エネルギー 要素vと要素w間のユークリッド距離

バイアス回避用の重みづけ

U(p) = (要素間の引きつけ合う力の合計)ー (要素間の反発しあう力の合計)

Page 11: 2011 icse-feature cohesion in software product lines an exploratory study

フィーチャ凝集度計測に使われる指標1

• IFD/EFD(Internal/External-ratio Feature Dependency)

→ 要素間の依存関連数のみに基づく指標

10

関連しているフィーチャ内の要素

フィーチャ内の全要素

フィーチャ内外の全要素

26

324

3

Page 12: 2011 icse-feature cohesion in software product lines an exploratory study

フィーチャ凝集度計測に使われる指標2

11

• IFDw/EFDw(Distance-based IFD/EFD)

→ 依存要素間の距離に基づく指標

フィーチャ内の全要素

関連しているフィーチャ内の要素との距離の和

フィーチャ内外の全要素との距離の和

24

244

1412244

244

Page 13: 2011 icse-feature cohesion in software product lines an exploratory study

1. フィーチャ内の全要素が入る円を描く(このとき、一番外側の要素が円周上にくるようにする)

2. 円の半径をNMRとする3. 円の中心から各要素間の距離を割り

出し、その平均をNARとする

フィーチャ凝集度計測に使われる指標3

12

• NAR/NMR(Normalized Average/Maximum Radius)

→ フィーチャの半径に基づく指標

Fを中心とした平均の半径 Fを中心とした最大の半径

Page 14: 2011 icse-feature cohesion in software product lines an exploratory study

40本の製品の凝集度の比較1

• 全製品通してIFDよりEFDの方が1に近い

13

Page 15: 2011 icse-feature cohesion in software product lines an exploratory study

40本の製品の凝集度の比較2

• 全製品通してIFDwよりEFDwの方が1に近い

14

Page 16: 2011 icse-feature cohesion in software product lines an exploratory study

40本の製品の凝集度の比較3

• 全製品通してNARもNMRも似たような値

15

Page 17: 2011 icse-feature cohesion in software product lines an exploratory study

40本の製品の凝集度の比較4

• 他にもいろいろと比較

16

Page 18: 2011 icse-feature cohesion in software product lines an exploratory study

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

Page 19: 2011 icse-feature cohesion in software product lines an exploratory study

まとめ

SPLでは再利用する機能の範囲が重要

機能の範囲はフィーチャ凝集度で計測可能

40本のSPL化された製品のフィーチャ凝集度

を計測

6つの知見を示した18

Page 20: 2011 icse-feature cohesion in software product lines an exploratory study

私見

• 長所

–筆者が関連研究を十分に調査している

– SPLの分野で初めて凝集度に着目した

–最後に知見としてわかったことをまとめている

• 短所

–説明が省略されていて、既存研究を理解しないと本質がわからない

–特に研究背景の説明がほとんどない19