Post on 20-Aug-2015
発表論文
• タイトル
「Reverse Engineering Feature Models」(フィーチャモデルをリバースエンジニアリング)
• 著者
– Steven She, Rafael Lotufo, Thorsten Berger, Andrzej Wasowski , Krzysztof Czarnecki
• 出典
– 33rd International Conference on Software Engineering(ICSE 2011)
1
year accept rate2009 12%2010 14%2011 14%
概要
• 目的:既存システムの機能の中から、
必要なものを効率よく選択できるようにするため
• 問題:フィーチャの親子関係を判別することが難しい
• 手法:– 記述中の語句の類似性をもとに
親フィーチャの候補をランク付け
– 依存関係に基づき無関係なフィーチャを無視する
• 結論:効率よくフィーチャモデルを作れるようになった2
・・・
背景2:現場における再利用開発の実情
4
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
機能がありすぎて、必要な機能を
見つけ出せない…。
大規模システム
機能数:5000
・・・
背景2:現場における再利用開発の実情
5
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
たぶん、これと…これと…
これがあれば…。
大規模システム
本当は、不必要な機能
本当は、必要な機能
背景2:現場における再利用開発の実情
6
作り直しか…。納期に間に合わないし、予算オーバーだな…。
・・・
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
機能 機能 機能 機能
大規模システム
必要な機能を早く正確に、判別できなければならない
一つの機能を選ぶと、
他に必要な機能も推移的に決まる
必要な機能を早く正確に判別できる
フィーチャ(機能)モデルがあると…
7
携帯電話
通話機能 メール機能
発信機能 着信機能 送信機能 受信機能
必須フィーチャ
任意フィーチャ
親フィーチャのランク付け1• フィーチャの説明文の単語の類似度からランキング
(※説明文はマニュアルやコード中のコメントから入手)
os_kernel Operating system.scheduler I/O scheduling.
1位 networking Networking drivers.2位 ethernet Type of local area networking.
の中から、
bluetooth a network driver.
の親フィーチャを探す 11
親フィーチャのランク付け2
12
• δ(p,s)→ フィーチャpとフィーチャsの類似度
• D1(f):→ フィーチャfの説明文を構成する単語のセット
• D2(p)(w):→ フィーチャpの説明文中にある単語wの個数
親フィーチャのランク付け3
13
• idf(w)
→ 単語wが複数のフィーチャに出現していれば、
単語wは判別には使えないので重みを小さく
• |F|:→ システムを構成するすべてのフィーチャ
• |{f:w∈D1(f)}|:→ 単語wが説明文中にあるフィーチャの数
RIFの評価1• RIFのトップ5中に、正解の親フィーチャが
含まれている確率は?(高い方がいい)
16
フィーチャ11位:AA2位:BB3位:CC4位:DD5位:EE
フィーチャ21位:FF2位:GG3位:HH4位:II5位:JJ
フィーチャ31位:KK2位:LL3位:MM4位:NN5位:OO
フィーチャ41位:PP2位:QQ3位:RR4位:SS5位:TT
正解!! 正解!!不正解 不正解
RIFの精度:50%例)
RIFの評価2• Linux:76%、eCos:79%が正解
• %Implsが増える(無関係フィーチャを無視する)
ほど、正解が上位に来る
• 記述中の単語を用いるほど、正解が上位に来る(?)
17
RAFの評価1• RAFで正解率75%を出すには、全体の何%の
フィーチャが必要か? (低い方がいい)
フィーチャ11位:AA
::
50位:EE:
1位までで正解!!
1%のフィーチャで、正解率75%例)
フィーチャ21位:BB
::
50位:FF:
フィーチャ31位:CC
::
50位:GG:
フィーチャ41位:DD
::
50位:HH:
1位までで正解!!
1位までで正解!!
1位までで不正解
100フィーチャ中 18