More Related Content Similar to 2011 icse-reverse engineering feature models
Similar to 2011 icse-reverse engineering feature models (20) 2011 icse-reverse engineering feature models2. 発表論文
• タイトル
「Reverse Engineering Feature Models」
(フィーチャモデルをリバースエンジニアリング)
• 著者
– Steven She, Rafael Lotufo, Thorsten Berger,
Andrzej Wasowski , Krzysztof Czarnecki
• 出典
year accept rate
– 33rd International Conference 2009 12%
on Software Engineering 2010 14%
(ICSE 2011) 2011 14%
1
3. 概要
• 目的:既存システムの機能の中から、
必要なものを効率よく選択できるようにするため
• 問題:フィーチャの親子関係を判別することが難しい
• 手法:
– 記述中の語句の類似性をもとに
親フィーチャの候補をランク付け
– 依存関係に基づき無関係なフィーチャを無視する
• 結論:効率よくフィーチャモデルを作れるようになった
2
5. 背景2:現場における再利用開発の実情
機能がありすぎて、 大規模システム
必要な機能を 機能 機能 機能 機能
見つけ出せない…。 機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
・
・ 機能数:5000
・ 4
6. 背景2:現場における再利用開発の実情
たぶん、これと… 大規模システム
これと… 機能 機能 機能 機能
これがあれば…。 機能 機能 機能 機能
機能 機能 機能 機能
本当は、
必要な機能
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
本当は、
機能 機能 機能 機能
不必要な機能
機能 機能 機能 機能
・
・
・ 5
7. 背景2:現場における再利用開発の実情
作り直しか…。 大規模システム
納期に間に合わないし、 機能 機能 機能 機能
予算オーバーだな…。 機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
必要な機能を早く正確に、
機能 機能 機能 機能
判別できなければならない
機能 機能 機能 機能
機能 機能 機能 機能
・
・
・ 6
8. フィーチャ(機能)モデルがあると…
携帯電話 必須フィーチャ
任意フィーチャ
通話機能 メール機能
発信機能 着信機能 送信機能 受信機能
一つの機能を選ぶと、
他に必要な機能も推移的に決まる
必要な機能を早く正確に判別できる 7
13. 親フィーチャのランク付け2
• δ(p,s)
→ フィーチャpとフィーチャsの類似度
• D1(f):
→ フィーチャfの説明文を構成する単語のセット
• D2(p)(w):
→ フィーチャpの説明文中にある単語wの個数
12
14. 親フィーチャのランク付け3
• idf(w)
→ 単語wが複数のフィーチャに出現していれば、
単語wは判別には使えないので重みを小さく
• |F|:
→ システムを構成するすべてのフィーチャ
• |{f:w∈D1(f)}|:
→ 単語wが説明文中にあるフィーチャの数
13
15. 無関係フィーチャの除去
探索範囲を狭めたい
依存関係から、無関係なフィーチャを除去
Bluetoothと依存関係にある
フィーチャを追っていくと…
Ethernetが無関係だとわかる 14
17. RIFの評価1
• RIFのトップ5中に、正解の親フィーチャが
含まれている確率は?(高い方がいい)
例) RIFの精度:50%
正解!! 不正解 正解!! 不正解
フィーチャ1 フィーチャ2 フィーチャ3 フィーチャ4
1位:AA 1位:FF 1位:KK 1位:PP
2位:BB 2位:GG 2位:LL 2位:QQ
3位:CC 3位:HH 3位:MM 3位:RR
4位:DD 4位:II 4位:NN 4位:SS
5位:EE 5位:JJ 5位:OO 5位:TT 16
19. RAFの評価1
• RAFで正解率75%を出すには、全体の何%の
フィーチャが必要か? (低い方がいい)
例) 1%のフィーチャで、正解率75%
1位までで 1位までで 1位までで 1位までで
正解!! 正解!! 正解!! 不正解
10
0 フィーチャ1 フィーチャ2 フィーチャ3 フィーチャ4
フ 1位:AA 1位:BB 1位:CC 1位:DD
ィ
ー : : : :
チ : : : :
ャ 50位:EE 50位:FF 50位:GG
中 50位:HH
: : : : 18
21. まとめ
再利用開発を有効化するために、
効率よく既存システムの機能を選択できるようにしたい
フィーチャモデルがあればそれが可能だが、
フィーチャの親子関係がわからず作るのが難しい
• 記述中の語句の類似性から、
親フィーチャの候補をランク付け
• 依存関係に基づき無関係なフィーチャを無視する
効率よくフィーチャモデルを作れるようになった 20