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