担当 : 阪大 井上研 崔 恩瀞,山中 裕樹,後藤 祥

Slides:



Advertisements
Similar presentations
OWL-Sを用いたWebアプリケーションの検査と生成
Advertisements

ユーザーイメージ収集 インターフェイスの開発
シーケンス図の生成のための実行履歴圧縮手法
High-Impact Defects: A Study of Breakage and Surprise Defects
JPAを利用した RESTful Webサービスの開発
シーケンシャルパターンマイニングに基づくオブジェクト指向プログラムのための 欠陥検出手法
Brittany Jonson†, Yoonki Song†, Emerson Murphy-Hill†, Robert Bowdidge‡
分散コンピューティング環境上の Webリンク収集システムの実装
東工大佐伯研 飯田 諒 (1) and 林 晋平 (2 & 3)
Myoungkyu Song and Eli Tilevich 発表者: 石尾 隆(大阪大学)
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
「まめだくん Ver.1.0」 特徴と利用方法.
プログラムの動作を理解するための技術として
ICSE 2011 Refactoring Your Lei I
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
Java ソフトウェア部品検索システム SPARS-J のための リポジトリ自動更新機能の実現
プログラム実行履歴を用いたトランザクションファンクション抽出手法
管理画面操作マニュアル <サイト管理(1)> 基本設定 第9版 改訂 株式会社アクア 1.
過負荷時の分散ソフトウェアの 性能劣化を改善する スケジューリングの提案
コードクローンに含まれるメソッド呼び出しの 変更度合の分析
コードクローンに含まれるメソッド呼び出しの 変更度合の調査
識別子の命名支援を目的とした動詞-目的語関係の辞書構築
ソードコードの編集に基づいた コードクローンの分類とその分析システム
リファクタリング中に生じる コンパイルエラーの自動解消手法
動的依存グラフの3-gramを用いた 実行トレースの比較手法
オブジェクト指向プログラムにおける エイリアス解析手法の提案と実現
利用関係に基づく類似度を用いたJavaコンポーネント分類ツールの作成
デバッガ dbx の使い方.
実行時情報に基づく OSカーネルのコンフィグ最小化
只見町 インターネット・エコミュージアムの「キーワード」検索の改善
Javaプログラムの変更を支援する 影響波及解析システム
リファクタリング支援のための コードクローンに含まれる識別子の対応関係分析
プログラム動作理解支援を目的とした オブジェクトの振舞いの同値分割手法
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
ソースコードの特徴量を用いた機械学習による メソッド抽出リファクタリング推薦手法
UMLモデルを対象とした リファクタリング候補検出の試み
コードクローン検出に基づくデザイン パターン適用支援手法の提案と実現
シナリオを用いたレビュー手法PBRの追証実験 - UMLで記述された設計仕様書を対象として -
○ 後藤 祥1,吉田 則裕2 ,井岡 正和1 ,井上 克郎1 1大阪大学 2奈良先端科学技術大学院大学
ソフトウェア保守のための コードクローン情報検索ツール
コードクローン分類の詳細化に基づく 集約パターンの提案と評価
JAVAバイトコードにおける データ依存解析手法の提案と実装
インスタンスの型を考慮したJavaプログラムの実行経路の列挙手法の提案
コードクローン間の依存関係に基づく リファクタリング支援環境の実装
Managing non-functional uncertainty via model-driven adaptivity
データ構造とアルゴリズム (第5回) 静岡大学工学部 安藤和敏
オブジェクトの協調動作を用いた オブジェクト指向プログラム実行履歴分割手法
文法と言語 ー文脈自由文法とLR構文解析ー
プログラムスライスを用いた凝集度メトリクスに基づく 類似メソッド集約候補の順位付け手法
保守請負時を対象とした 労力見積のためのメトリクスの提案
コードクローン間の依存関係に基づく リファクタリング支援手法の提案と実現
クローン検出ツールを用いた ソフトウェアシステムの類似度調査
オープンソースソフトウェアに対する コーディングパターン分析の適用
メソッドの同時更新履歴を用いたクラスの機能別分類法
稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴
ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装
クラスタリングを用いた ベイズ学習モデルを動的に更新する ソフトウェア障害検知手法
統合開発環境のための プログラミング言語拡張 フレームワーク
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
複雑度メトリクスを用いた JAVAプログラム品質特性の実験的評価
プログラムの一時停止時に 将来の実行情報を提供するデバッガ
コードクローン解析に基づく デザインパターン適用候補の検出手法
回帰テストにおける実行系列の差分の効率的な検出手法
メソッド抽出リファクタリングが 行われるメソッドの特徴調査
オブジェクト指向言語における セキュリティ解析アルゴリズムの提案と実現
ベイジアンネットワークと クラスタリング手法を用いたWeb障害検知システムの開発
プログラム理解のための 付加注釈 DocumentTag の提案
1.2 言語処理の諸観点 (1)言語処理の利用分野
FSE/ASE勉強会 A10:Software Maintenance II
Presentation transcript:

担当 : 阪大 井上研 崔 恩瀞,山中 裕樹,後藤 祥 A. Composition 担当 : 阪大 井上研 崔 恩瀞,山中 裕樹,後藤 祥

Paola Inverardi, Massimo Tivoli (University of L'Aquila, Italy) Automatic Synthesis of Modular Connectors via Composition of Protocol Mediation Patterns Paola Inverardi, Massimo Tivoli (University of L'Aquila, Italy) 担当:崔恩瀞(阪大 井上研)

背景 A1 ユビキタス・コンピューティングでは,異なるシステムを接続してサービスを提供する. この際,異なるシステム間のプロトコル不整合を解決する必要がある. プロトコル不整合を解決するためのコネクタの作成・保守が困難である. 作成して終わりではなく,システムの改修に応じて,コネクタの保守を行う必要がある

本論文の概要 A1 コネクタを自動的に導出する方法を定義 ドメイン・オントロジーが変更された場合を想定し,提案する方法の有用性を議論 入力 2システムのプロトコル ドメイン・オントロジー 出力 複数のモジュール化されたコネクタ ドメイン・オントロジーが変更された場合を想定し,提案する方法の有用性を議論 インターフェース・オートマトン 既存研究は,保守が難しい モノリシックコネクタを導出

提案する方法の概要(Fig.4) A1 プロトコルの対 オントロジー オントロジーを基に アクションの発生順序の変更や プロトコル間の表記を統一 アクションの発生順序の変更や 入出力の追加・削除を行う コネクタ群を導出 プロトコルの対 オントロジー

Robust Reconfigurations of Component Assemblies Fabienne Boyer, Olivier Gruber, Damien Pous (Université Joseph Fourier, France; CNRS, France) 担当:山中 裕樹(阪大井上研)

研究概要 A2 再コンフィギュレーションプロトコルの提案 安全に再コンフィギュレーションするための規約を定義 規約を順守してアーキテクチャを変更 ⇒ 再コンフィギュレーション中に発生する障害に対応可能 Apacheサーバ Tomcatサーバ データベース 再コンフィギュレーション 現状のコンポーネントアセンブリ (カレントアーキテクチャ) 理想的なコンポーネントアセンブリ (ターゲットアーキテクチャ)

再コンフィギュレーションに必要なオペレーション A2 再コンフィギュレーションの規約 Architectural Invariants ( Definition 1 ) オペレーションを実行する際に満たすべきアーキテクチャの条件 実行すべきオペレーションを決定するために必要 Reconfiguration Grammar ( Fig. 1 ) 再コンフィギュレーションの際のオペレーションの文法 Construct/Destruct:コンポーネントの構築・破棄 Wire/Unwire:コンポーネント間の関連付け Start/Stop:コンポーネントの開始・停止 再コンフィギュレーションに必要なオペレーション 状態遷移機械を満たすように オペレーションを実行 Fig.1

再コンフィギュレーション中の新たな障害へ対応可能(詳細は略) A2 プロトコルの概要 カレントアーキテクチャとターゲットアーキテクチャのdiffを計算 diffから実行すべきオペレーションを決定・順序付け Architectural Invariantsを満たすようにオペレーションを決定(Fig.3) Reconfiguration Grammarに従ってオペレーションを順序付け(Fig.4) オペレーションを順に適用(Down Phase → Up Phase の順序) 安全にアーキテクチャを変更することが可能 カレントアーキテクチャ (Fig.7) diff オペレーション Down Phase Unwire(T2, DB1) Down Phase Stop: A2, T2 Unwire: (T2,DB1) STEP2 STEP1 Up Phase Construct(DB2) Start(DB2) Wire(T2,DB2) Up Phase Construct: DB2 Wire: (T2,DB2) Start: DB2, T2, A2 ターゲットアーキテクチャ (Fig.7) 再コンフィギュレーション中の新たな障害へ対応可能(詳細は略)

評価実験 A2 プロトコルの性能評価 ケーススタディの実施 プロトコルのアルゴリズムを形式化 Coq*を用いてプロトコルのアルゴリズムを検証 ウェブアプリケーションサーバのアーキテクチャ変更例の紹介 *Y. Bertot and P. Cast´eran. Interactive Theorem Proving and Program Development. Coq’Art: The Calculus of Inductive Constructions. Texts in Theoretical Computer Science. Springer, 2004.

A3 Drag-and-Drop Refactoring: Intuitive and Efficient Program Transformation Yun Young Lee, Nicholas Chen, Ralph E. Johnson (University of Illinois at Urbana-Champaign, USA) 担当:後藤 祥(阪大井上研)

研究概要 A3 リファクタリングツールはあまり使われていない ドラッグ&ドロップでリファクタリングを行うツールを提案 UIの問題,設定項目が多い ドラッグ&ドロップでリファクタリングを行うツールを提案 Javaエディター,パッケージエクスプローラ上で動作 Print文の引数を選択して メソッドの外にドロップ Extract Method “Drag-and-Drop Refactoring:Intuitive and Efficient Program Transformation”, Fig. 1 より引用

主要な貢献 A3 Approach Mappings Tool Evaluation ドラッグ&ドロップによるリファクタリング操作 被験者実験を行い,ドラッグ&ドロップとリファクタリングパターンのマッピングを作成 Tool Eclipseプラグイン(DNDRefactoring)を公開 Evaluation controlled user study で有用性を確認

マッピング作成のための実験(RQ1) A3 D&D操作とリファクタリングのマッピングを作成 74名の被験者へマッピングに関する質問を行った 被験者の解答を分類してマッピングを作成 “Drag-and-Drop Refactoring:Intuitive and Efficient Program Transformation”, Fig. 2, Table. 2 より引用

ツールの評価実験(RQ2, RQ3) A3 Eclipseのリファクタリング機能と比較 RQ2 : Efficiency (作業時間) 被験者にリファクタリングのタスクを与える 作業を録画して,実験終了後に解析 RQ2 : Efficiency (作業時間) Extract Method 以外は提案ツールの方が早い RQ3 : Usability (作業中に障害に遭遇した回数) 障害・・・作業の中断,間違った機能の呼び出しなど 提案ツールを用いることで障害数は平均して半分になった

所感 A3 提案内容の優れた点が上手く述べられている 多くのリソースが公開されている 提案内容でいかに現状の問題点を解決できるか 問題点の解決以外の利点 多くのリソースが公開されている ツール,実験タスク,実験結果