FSE/ASE勉強会 A10:Software Maintenance II 紹介者:肥後芳樹 2012/3/21 Self-Adaptive Software Meets Control Theory: A Prelimnary Approach Supporting Reliability Requrement Antonio Filieri Carlo Ghezzi Alberto Leva Martina Maggio 2012/3/21 概要 • Control-theoretical なアプローチを用いること によりモデルレベルでのself-adaptation(自己 適用?)を達成 – モデルには離散時間マルコフ連鎖を利用 • シミュレーションで評価 – 必要とされる信頼性を時間に応じて変化させ,モ デルがどのように振る舞うのかを観察 2012/3/21 Self-Adaptive(自己適用型)とは • 環境の変化に応じて,その変化に対応すべく 自身の振る舞いを変化させること • この論文では,要求される信頼性を満たし続 けることがself-adaptiveと定義 – 実験では,要求される信頼性は数値として与えら れる 2012/3/21 なぜ離散時間マルコフ連鎖を用いる のか • 可能性として起こりうる異常状態をモデル化 することにより,信頼性に関する事柄を表現 できる • 要求される信頼性は,モデル上における(以 上状態等の)ある状態への遷移の到達可能 性として表現されうる 2012/3/21 Generalizing Evolutionary Coupling with Stochastic Dependencies Sunny Wong Yuanfang Cai 2012/3/21 概要 • マルコフ連鎖を用いてStochastic Dependencies (確立論的な依存関係)定義 • Stochastic Dependenciesを用いて,モジュー ルの同時更新を予測 • 5つのソフトウェアの計78のリリースに対して 実験 – 16種類の Stochastic Dependenciesを用いた – 既存手法よりは精度が良かった 2012/3/21 手法の概要 • 下記の履歴があったとき – {a,b}, {a,c}, {d}, {a,b}, {a}, {a,b,c}, {b,d}, {a}, {a,d}, {c}, {a,c}, {a} • cに対するstochastic dependenciesは p.295(論文3ページ目)の表 • 工夫点は – 大昔のリビジョン情報は使わない 2012/3/21 – 履歴データには重み(λ)をつける 評価方法 • Research Questionは4つ 1. Structure-based IA(Impact Analysis) techniquesと比べ てどうか • CBO等のメトリクス,依存グラフ(呼び出し関係?) 2. History-based IA techniquesと比べてどうか • Kとλをなくしたもの(アイテムセットマイニングのようなもの?) 3. k(大昔の履歴とみなすしきい値)はどの程度精度に 影響を与えるか 4. λ(用いる履歴の重み付け)はどの程度精度に影響を 与えるか • 精度は,precision,recall,F値を算出することによ り比較 2012/3/21 実験結果 • RQ1:すべての対象,すべてのkとλの組み合 わせで提案手法が有意に良い • RQ2:すべての対象,3/4のkとλの組み合わせ で提案手法が有意に良い • RQ3:kは長すぎても短すぎでもダメ – ソフトウェアによって最適なkが違うかどうか書い ていないような… • RQ4:const,line,sine,exponで調査 – ソフトウェアによって違う 2012/3/21 感想 • 手法に斬新さはあまりない(ような気がする…) • 評価がしっかりしている – 4ページ目からevaluationの章が始まる – 複数の既存手法との比較 – Discussionに約1ページ使っている 2012/3/21 Differential Precondition Checking: A Lightweight Reusable Analysis for Refactoring Tools Jeffrey L. Overbey Ralph E. Johnson 2012/3/21 概要 • リファクタリングの自動化で難しいのは,その リファクタリングが振る舞いを変えないことを 保証すること • この論文では,この保証のための新しい手法 を提案 – 高速 – さまざまなリファクタリングパターンに対応 – 多言語対応 • Fortran,PHP,BCで実験 2012/3/21 提案手法の流れ 1. ソースコードからモデルを生成(initial model) 2. ソースコードに対してリファクタリングを適用 3. リファクタリング後のソースコードからモデルを生成 (derivative model) 4. Initial modelとderivative modelに対して preservation analysisを実行 – 成功ならそのリファクタリングは振る舞いを変えない – そうでないなら振る舞いを変えてしまう 2012/3/21 用いたモデル • Program graph – AST+CFG+PDGを 合わせたような もの? 2012/3/21 p.306(論文の4ページ目の図) 評価 • 多言語化の評価 p.310(論文8ページ目の表) – このうちのいくつかはEclipseのCDTやJDTでもやっ てみた • スピード – 既存手法よりは遅いけど,数秒程度であり許容 範囲内 2012/3/21
© Copyright 2024 ExpyDoc