2011 splc-a scalable goal-oriented approach to software variability recovery
DESCRIPTION
TRANSCRIPT
発表論文
• タイトル
「A Scalable Goal-Oriented Approach
to Software Variability Recovery」
(ソフトウェアの可変性を回復するための
ゴール指向による拡張アプローチ)
• 著者– Slawomir Duszynski
• 出典– SPLC‘11, August 21-26, 2011,
Munich, Germany
• Accept rate 30%0
概要
• 目的
→類似既存システムの可変部分(製品固有部分)を
分析する際の労力を削減するため
• 手法
→ 類似既存システムのソースコードから
可変部分を見つけ出す
• 結論
→可変部分を見つけ出すための提案手法と、
可変情報の利用方法を示した1
背景1:SPLの現状
SPL( Software Product Line )を使うと、
ソフトウェア開発の労力を節約できる
しかし、多くの企業がSPLを導入しない
なぜなら、再利用資産の再利用効果を妨げる問題があるから
2
背景2:再利用効果を妨げる問題
• 暗闇の中の手探り
–既存システムの可変部分の情報を利用せずに、再利用資産を開発し始める
–再利用効果が、コストに見合わなくなる
• 遺産の拒絶
– 1から再利用資産を開発する
–既存システムの過去の投資が無駄になる
• 決定の引き延ばし
–再利用資産の開発には高い投資が必要
– SPL導入の決定が遅れる3
背景3:可変部分の明確化
再利用資産の再利用効果を妨げる問題がある
原因は、再利用資産開発の労力が大きいから
可変部分の明確化が、必要な労力を減らす
類似既存システムのソースコードから、
可変部分を見つけ出す4
アプローチ1:可変部分を見つけ出す
1. 類似既存システムのソースコードを
全パターン比較
2. 比較結果を行列にして、全行列を結合
3. 行列を元に積集合を作成
4. バーを使って可視化
5※ Diffツールを使用
類似既存システムのソースコード比較
6
すべての行を比較し、同じものを見つける
行列にして結合
7
Aをメインに、BとCの固有部分を結合
行列を元に積集合を作成
8
Allをもとに積集合を作成
行列を元に積集合を作成
9
積集合をもとにCore:全製品共通部分Shared:製品共通部分Unique:製品固有部分 を視覚化
可変情報の利用とそのガイドライン1
10
再利用の評価
再利用導入の立案 移住品質管理
シナリオ
パターン
スコーピング整列
可変情報の利用とそのガイドライン2
• 再利用の評価
– 再利用資産に変換するのに適したシステムの部品を識別
• 再利用導入の立案
– 最適な再利用の導入計画を作成
• 移行品質管理
– SPLの移行活動を監視、品質を保証
• シナリオ
– 目標に基づきユーザを導く
• パターン
– 可変部分の使用パターン・デザインパターン
• スコーピング整列
– 将来的な再利用資産の利用可能性を考慮 11
仮説
• 仮説1:
–可変部分の詳細な情報がわかると、再利用資産開発の労力が削減
• 仮説2:
–提案手法を使うと、可変性の分析パターンが4パターン以下なら30%、5パターン以上なら50%の労力を削減
• 仮説3:
–提案手法を使うと、再利用効果が低い・再利用機会が少ない可変部分を50%削減 12
検証
• 仮説1:
–可変情報の不足と、観測された問題との因果関係を評価
• 仮説2・仮説3 :
–ケーススタディで評価
検証は現在2つのプロジェクトで実行中
結果は2013年に公表13
まとめ
SPLを使うと、
ソフトウェア開発の労力を節約できる
しかし、
再利用資産開発の労力が大きい
類似既存システムのソースコードから、
可変部分を見つけ出す方法を示した
可変情報の使い道も示した14
私見
• 長所
–図から提案手法が理解しやすい
– SPLの背景をきちんと分析・説明している
• 短所
–評価結果は Future work でもいいのか?
–ゴール指向はどこで使っているのか?
15