A09 - qwik.jp

Proceeding of the 26th IEEE/ACM International Conference On Automated Software
Engineering (ASE 2011), pp. 343 - 351
Local vs. Global Models for Effort
Estimation and Defect Prediction
Tim Menzies, Andrew Butcher,
Andrian Marcus, Thomas
Zimmerman, David Cok
担当:戸田 航史
(NAIST・松本研)
概要
• 我々がデータマイニングによって得られた結
果を現場に持って行くと,いつも「で,プロジェ
クトをマシにする上で,このデータはどう使え
ばいいの?」と尋ねられる.
• 本稿で提案するのは,その質問に対する解
答を導く手段である.
Which: Contrast Set Learning
1. 特定のメトリクスを含むプロジェクトだけを集
めたサブセットを作成し,サブセットから
Score(データ改善指標値)を算出する
2. 全てのメトリクス(組み合わせを含む)の中で,
最もScoreが高かったメトリクスに沿うように
プロジェクトを改善すれば良い
Whichの具体例
Score=
サブセットの工数or欠陥率の中央値
元データの工数or欠陥率の中央値
サブセットのプロジェクト数
× 元データのプロジェクト数
• 例:Score最高値が「プログラマの能力=平均的」
ならば,プロジェクトに参加するプログラマの能
力を調整すれば良い
– 例えばプロジェクトの工数を削りたい場合に,調整す
べきメトリクスの指針を立てやすくなる
– Score式中の工数,欠陥率は例であり,改善したい項
目を代入することで,そのための施策を立てることが
できる
• ここまで「for effort estimation and defect prediction」の話
ここまでのまとめ
• でも全データセットを利用すると,結果があま
りにもおおざっぱになりすぎる
• クラスタリングによってプロジェクトの個別性
を考慮しよう
– ここから「Local vs. Global Models」の話
– というかWhich自体は別の論文で提案された手
法なのでこのままでは新規性が無い
Where: Clustering
• FASTMAPによって説明変数を2次元にまで集
約し,各軸の中央値によって分割を繰り返す
– 制限が無ければ分割するたびにクラスタは4n個
になる
Whereの具体例
Fig. 3より
• 改善対象のプロジェクトの所属するクラスタの
データを用いてWhichを実行することでよりよ
い分析が可能となる
Proceeding of the 26th IEEE/ACM International Conference On Automated Software
Engineering (ASE 2011), pp. 352-361
Capacity Planning for Event-based
System using Automated
Performance Predictions
1Christoph
1FZI
Rathfelder 2Samuel Kounev
3David Evans
Research Center for Information Technology
2Karlsruhe Institute of Technology
3University of Cambridge
担当:山内寛己 @(株)アクセス
(NAIST・松本研OB)
概要
• 背景:
スケーラブルな分散システムを構築するため,イベント駆動
型通信が使われるようになってきた.
• システム全体の挙動や性能を見積もるためのCapacity
Planningが困難になってきている
• 貢献(論文の流れ):
• イベント駆動型通信に対応した拡張 Palladio Component
Model(PCM) による自動性能予測モデルを提案・開発.
• 実際に使われているイベント駆動型システムをケーススタ
ディとして,提案手法による性能予測と実測との比較・評価.
Palladio Component Model (PCM)の
拡張(イベント駆動型対応)と自動化
1.
コンポーネントベースのソフトウェア
アーキテクチャモデルを記述し,
そこから性能予測モデルに変換
2.
イベント駆動型通信に対応する自動
変換するためのメタモデルを構築
Composition Model
Component Model
Fig.2 Automated Model-to-Model Transformation
3.
Deployment Model
Usage Model
入力パラメータの組み合わせを
自動生成し,性能予測モデルにて,
シミュレーションの実行
Fig.
Palladio Component
Model (Modified)
S.Becker et al. "Model-Based Performance Prediction with the Palladio
Component Model“, Proc. of the 6th international workshop on Software
and performance(WOSP'07)
Fig.3 Automated Performance Prediction Process
ケーススタディ
• 対象システム:
ケンブリッジ市内イベント駆動型の交通モニタシステムの
一部であるSBUSミドルウェアと交通モニタリングアプリ
– SBUSミドルウェア
コンポーネントベース.P2P型イベント型通信(ストリームデータ(セン
サ情報),非同期イベント,同期メッセージ(RPC))を取り扱える.
– 交通モニタリングアプリ
異なる8種類のコンポーネント(下図)で構成
Fig.4 Overview of Case Study Components
Cam: カメラ
LPR: ナンバプレート認識
Speeding: スピード検出
Toll: 高速料金収集
ACIS: バス位置提供
Location: 位置情報
SCOOT: 信号機状態
Bus Proximity: バス接近検出
ケーススタディのシナリオと評価
• シナリオ
– ベースシナリオ
– 負荷の増加
(コンポーネントの配置変更)
– 機能追加
(コンポーネントの追加)
– ハードウェアのアップグレード
• 予測値
100,000枚の画像処理を最
後の約3分実行時の負荷
– 実システム5時間実行(また
はそれ以上)に相当
• 評価
– カメラ1台あたりの画像更
新レート[1/s]に対する
• CPU利用率[%]
• LPRコンポーネントの処
理時間[s]
– 実システムの実測値との
絶対誤差にて評価
評価結果とまとめ
• 評価結果
– CPU利用率,処理時間ともにほとんどのケースにおいて,誤差20%
以内だった.
CPU利用率の予測に関しては,予測誤差25%を超えることはなかった.
• モデリングおよび予測のコスト
– モデリング:
イベント駆動型の拡張により,モデル変換が最大80%省力化した.
論文中のすべてのケースをモデリングするのに30分かからなかった.
– 予測(シミュレーション):
シミュレーションの実行は完全自動化されている.評価するには,シ
ミュレーションのケースに相当する実システムの計測をすればよい.
100,000ものシミュレーションイベントをMacBook Pro*で3分ほど.
*Corei7 CPU, 8GB RAM
Proceeding of the 26th IEEE/ACM International Conference On Automated Software
Engineering (ASE 2011), pp. 362 - 371
Ecological inference in empirical
software engineering
Daryl Posnett, Vladimir Filkov,
Premkumar Devanbu
University of California, Davis
担当:角田 雅照
(NAIST・松本研)
Ecological inference
• ソフトウェアプロジェクト,プロダクトは階層的である.
• ある階層で得られた知見が,下位の階層でも成り立
つという推論(Ecological inference)は正しいのか?
– 疫学などでは,階層間(都道府県と個人間など)で成り立
たないことがある(ecological fallacy)と指摘されている.
知見
パッケージ
モジュールA
ファイルJ
ファイルK
モジュールB
ファイルL
ファイルM
人数が多いと
バグが多い
成り立つ?
Ecological inferenceの要因
集計グループに偏りがある.
- 集計グループに相関があると,
分析結果に擬似相関が出る.
集計対象
知見
仮説検定
データ収集
バグありモジュールが,
バグ無しモジュールに
比べて少ない.
結果の偏り
予測精度
データ数
上位の測定値ほど,データ数
が少なくなり,統計的な効果が
下位に比べて小さくなる.
パッケージ
モジュールA
ファイルJ
ファイルK
- 説明変数として採用されなくなる.
モジュールB
ファイルL
ファイルM
予測モデルの精度
• Apacheプロジェクトのデータを収集,パッケー
ジレベル,ファイルレベルのバグ予測をした.
– パッケージレベルはファイルからの集計値を使う.
単純な予測精度
(AUC)では差がない
上位レベルだけを見ている場合,
過大評価をしてしまう場合がある.
工数を減らす効果(ファ
イルレベルでの作業を
考慮した評価)で比較
すると,差がある.
仮説検定
• 予測モデルの説明変数(行数など)が有意で
あれば,予測に役立つとする.
• 検定結果がパッケージレベルとファイルレベ
ル(下位)と一致しない場合について調べた.
• モデルの説明変数の約半分が下位レベルで
有意ありに変化,または有意なしに変化した.
上位レベルで得られた知見が,下位レベルでも成り立つ
とは限らない.
まとめ
• 論文の貢献点
– 実証的ソフトウェア工学(ESE)にEcological
inferenceのコンセプトを導入した.
– ESEにおけるEcological inferenceの要因を提示し
た.
– 実験により,予測精度や仮説検定において,
Ecological inferenceが成立しない場合を示した.