V2: Lu Xiao, Yuanfang Cai, ``Design Rule Spaces: A New Form of Architecture Insight,'' Proc. IEEE ICSE'14, pp.967-977. 紹介者: 神谷年洋 所感: ● 全部入り: 手法の提案(解析+視覚化)+ツール+実験による 評価 ツール使いやすそう ● 「この分野もうちょっといけるかも」というワクワク感 ● 2014-07-22 V2, ICSE'14 勉強会 概略 ● Design Rule Spaceという手法の提案 アーキテクチャとバグ発生の関係を分析する アイデア – ● – OOの関係(structural relation)とファイル共修正関係 (evolutionary relation)をひとつのマトリックスとして視覚化 継承関係(ir)、インターフェイスの実装(rl)、アクリゲーショ ン(ag)、依存(dp)、特定のデザインパターン ● 2つのファイルが同時に変更される回数が10回以上 → evolutionary relationがある – クラスをクラスタリングしたものをモジュールとし、かつ、モ ジュール間に層関係を定義する 実験 ● ● 出典: Lu Xiao, Yuanfang Cai, ``Design Rule Spaces: A New Form of Architecture Insight,'' Proc. IEEE ICSE'14, pp.967-977. – GUI分析ツールとして実装(Titan) V2, ICSE'14 勉強会 – 対象: Jboss, Hadoop, JDT(Eclipse) 2014-07-22 Design Rule Spaceの説明図 ● 対象となる関係を選ぶ(継承 or 依存 or …) → 関係を持ってい ないクラスは対象外 ● 縦横に同じモジュールを並べる ● マス目には「行のモジュール→列のモジュール」の関係 ● モジュールの階層を箱で表現 同じ階層内のモジュール間には関係は存在しない 1階層目のモジュールは他のモジュールへの関係なし、2階 層目は1階層目への関係飲みを持つ、・・・ – – 1階層目, 4つのモジュールを含む 2階層目 3階層目 出典: Lu Xiao, Yuanfang Cai, ``Design Rule Spaces: A New Form of Architecture Insight,'' Proc. IEEE ICSE'14, pp.967-977. 2014-07-22 V2, ICSE'14 勉強会 適用例: JBoss (この論文の一番の貢献だと思われる図) ● JBossの27のファイル、アグリゲーションの関係 – 数字は共修正の回数 白いセル「ag,」は関係あり、かつ共修正がある→OK – 黒いセル「,35」は関係がないが、共修正が多い→問題 – 出典: Lu Xiao, Yuanfang Cai, ``Design Rule Spaces: A New Form of Architecture Insight,'' Proc. IEEE ICSE'14, pp.967-977. 2014-07-22 V2, ICSE'14 勉強会 定量的な実験結果 ● ● ● ● ● 上位階層のファイルがエラーがちなら、下位の階層のファイル もエラーがちなファイルが多数ある 数百のエラーがちなファイルが、2, 3個のマトリックス (DRSpace)に収まった! 問題があるDRSpaceはデザイン原則を破っている(依存関係 の循環)か、不安定なAPIのいずれかであった! 開発者に結果をフィードバックしたところ、リファクタリングがプ ランされた Structural relationでは関係がわからないが、共編集が行われ るファイルがある → “Shared Secrets” 2014-07-22 V2, ICSE'14 勉強会
© Copyright 2024 ExpyDoc