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が成立しない場合を示した.
© Copyright 2024 ExpyDoc