設計情報の再利用を目的とした UML図の自動推薦ツール

Slides:



Advertisements
Similar presentations
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 ソフトウェア部品推薦のための.
Advertisements

システム開発におけるユーザ要求の 明示的表現に関する一検討
シーケンス図の生成のための実行履歴圧縮手法
XHTML構文検証手法における スクリプト要素の静的解析アルゴリズム
ソースコードの編集内容を用いた ソフトウェア部品の自動推薦手法
メソッド周辺の識別子と メソッド本体のAPI利用実績に基づいたAPI集合推薦手法
ソースコードの編集内容を入力とした ソフトウェア部品の自動検索
利用実績に基づくソフトウェア部品検索システムSPARS-J
情報伝播によるオブジェクト指向プログラム理解支援の提案
     年  月  日 名前 太郎 1 班.
SS2009 形式手法の適用ワーキング グループの報告
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
メソッド名とその周辺の識別子の 相関ルールに基づくメソッド名変更支援手法
UMLとは           032234 田邊祐司.
Java ソフトウェア部品検索システム SPARS-J のための リポジトリ自動更新機能の実現
プログラム実行履歴を用いたトランザクションファンクション抽出手法
プログラム実行時情報を用いたトランザクションファンクション抽出手法
ソースコードの変更履歴における メトリクス値の変化を用いた ソフトウェアの特性分析
静的情報と動的情報を用いた プログラムスライス計算法
類似するコーディングパターンの 利用状況調査ツールの提案
UMLメタモデルの変更に対応した ダイアグラム間整合性検証環境の 自動生成手法
Javaクラスの利用関係を用いた ソフトウェア部品のカテゴリ階層構築法
コードクローンに含まれるメソッド呼び出しの 変更度合の分析
コードクローンに含まれるメソッド呼び出しの 変更度合の調査
識別子の命名支援を目的とした動詞-目的語関係の辞書構築
関数の変更履歴と呼出し関係に基づいた開発履歴理解支援システムの実現
類似度を用いたプログラムの再利用性尺度の提案と実現
暗黙的に型付けされる構造体の Java言語への導入
オブジェクト指向プログラムにおける エイリアス解析手法の提案と実現
動的情報を利用したソフトウェア 部品評価手法
シーケンス図を用いて実行履歴を可視化するデバッグ環境の試作
利用関係に基づく類似度を用いたJavaコンポーネント分類ツールの作成
クローンセットに対する主要編集者の分析法の提案と調査
実行時情報に基づく OSカーネルのコンフィグ最小化
環境リスクマネジメントに関する 検索システム
社会シミュレーションのための モデル作成環境
利用実績に基づくソフトウェア部品検索システムSPARS-J
     年  月  日 名前 太郎 1 班.
プログラム動作理解支援を目的とした オブジェクトの振舞いの同値分割手法
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
ソースコードの特徴量を用いた機械学習による メソッド抽出リファクタリング推薦手法
オープンソース開発支援のための リビジョン情報と電子メールの検索システム
ソースコード縮退による ソースコード理解 神谷年洋 科学技術振興事業団 さきがけ研究21 オブジェクト指向シンポジウム2003.
UMLモデルを対象とした リファクタリング候補検出の試み
コードクローン検出に基づくデザイン パターン適用支援手法の提案と実現
Webコミュニティ概念を用いた Webマイニングについての研究 A study on Web Mining Based on Web Communities 清水 洋志.
コード片に共通した特性を自動抽出する ソースコード閲覧ツールの試作
背景 課題 目的 手法 作業 期待 成果 有限体積法による汎用CFDにおける 流体構造連成解析ソルバーの計算効率の検証
シナリオを用いたレビュー手法PBRの追証実験 - UMLで記述された設計仕様書を対象として -
コードクローン分類の詳細化に基づく 集約パターンの提案と評価
項目間の対応関係を用いた XBRL財務報告書自動変換ツールの試作
コーディングパターンの あいまい検索の提案と実装
コードクローン間の依存関係に基づく リファクタリング支援環境の実装
プログラムスライスを用いた凝集度メトリクスに基づく 類似メソッド集約候補の順位付け手法
保守請負時を対象とした 労力見積のためのメトリクスの提案
dcNavi:デバッグ支援のための グラフベース推薦システム
メソッドの同時更新履歴を用いたクラスの機能別分類法
ソフトウェア工学 知能情報学部 新田直也.
ソフトウェア工学 理工学部 情報システム工学科 新田直也.
ソースコードの編集状況に応じた ソフトウェア部品の自動推薦システム
UMLモデルを対象とした リファクタリング候補検出手法の提案と実現
欠陥検出を目的とした類似コード検索法 吉田則裕,石尾隆,松下誠,井上克郎 大阪大学 大学院情報科学研究科
ソフトウェア理解支援を目的とした 辞書の作成法
ソフトウェア工学 知能情報学部 新田直也.
コードクローン解析に基づく デザインパターン適用候補の検出手法
知識ベースの試作計画 ●●●研究所 ●●●技術部 稲本□□ 1997年1月.
識別子の読解を目的とした名詞辞書の作成方法の一試案
オブジェクト指向メトリクスを用いた 開発支援に関する研究 --- VC++とMFCを用いた開発を対象として ---
プログラム理解のための 付加注釈 DocumentTag の提案
Presentation transcript:

設計情報の再利用を目的とした UML図の自動推薦ツール 基礎工学部情報科学科 井上研究室 松下 誠

背景 設計情報の再利用を促進するツールの作成 上流工程で問題を見逃すと大きなコストがかかる ソフトウェア再利用 利点 対象 生産性の向上 信頼性の向上 対象 ソースコードなどのプログラム ソフトウェアの設計情報 再利用の説明:既存の成果物を使う まず発表の背景について説明します ソフトウェア開発において、適切な再利用を行うことでソフトウェアの生産性や信頼性が向上すると言われています。 その際,再利用の対象となっているものには大きくわけてソースコードなどのプログラムと,ソフトウェアの設計情報があります. また,ソフトウェア開発の上流工程で問題を見逃してしまい,その問題を下流工程で取り除く必要が生じた場合,修正に必要なコストが増大することが知られています. そのため,再利用により上流工程の信頼性を向上させることは開発コストの低減に有効な手段であると考えられます. そこで,本研究では,ソフトウェアの設計情報に着目し,設計情報の再利用を促進するツールの作成を行いました. 設計情報の再利用を促進するツールの作成

研究の方針 設計情報としてよく用いられるUML図を扱う 自動的に検索を行い再利用可能なUML図を提示する 本研究では設計情報の再利用を支援するツールの作成を行います そのため,まず扱う設計情報はUML図としました. そして,再利用できる情報の検索を自動的に行うようにすることで,再利用の機会の増加を狙います. さらに曖昧さを許容した検索を行うことで見つける部品の幅を広げます. また検索を自動的に行うため,検索のクエリは編集中のUML図から作成するようにします.

推薦の流れ 提案手法 検索処理 検索開始 UML図 リポジトリ 特徴抽出 検索クエリ作成 索引作成 検索実行 索引 UMLエディタ 推薦画面 索引作成処理 UML図 リポジトリ 検索開始 特徴抽出 検索指示 監視 特徴 検索クエリ作成 索引作成 検索クエリ UML図 検索実行 索引 編集 UMLエディタ まず本手法による推薦の流れを説明します UML図の編集⇒手法がUML図を提示 索引 特徴抽出⇒索引 検索 検索クエリ=特徴抽出 推薦の処理は大きく検索処理と索引作成処理の二つにわけることができます. 索引作成処理では,蓄積された設計情報から特徴を抽出し,その特徴を元に索引を作成します. ここで言う特徴については後ほど説明致します. 推薦処理では,UMLエディタを監視することで,先ほど述べた検索のタイミングを検出し,検索を開始します. 検索のタイミングが検出されたら,まず現在編集中のUML図に含まれる特徴を元に検索クエリを生成します.次に生成された検索クエリと索引を用いて検索クエリに合うUML図を探し,開発者に提示します. 次にスライドからは具体的な検索処理について説明します. 検索結果 推薦 推薦画面 開発者

索引作成処理 特徴抽出 索引作成 ノードのテキスト記述を加工して単語に分解 各単語の出現回数を重みとして<単語,重み>の集合(特徴)を作成 索引作成 各UML図が持つ特徴をまとめて保存する 特徴 単語 重み article 1 name 4 string 3 get set new void 特徴抽出⇒保存=索引 className property Article - name : String + getName() : String +setName(newName : String) : void method actor テキスト記述

検索処理 検索クエリ生成 検索実行 結果の提示 検索開始 クエリ:作図中のUML図の特徴 索引作成処理の特徴抽出と同じ 検索結果の上位数件を開発者に提示 検索開始 編集中のUML図の特徴が変化したとき

ツールの実装 ツールの機能 UMLエディタ 推薦結果の提示 インポート機能 Violet UML Editor(既存のアプリケーション) 作成可能な図 クラス図・ユースケース図・アクティビティ図・           シーケンス図・オブジェクト図・状態遷移図 推薦結果の提示 インポート機能 作成可能な図=推薦可能な図

ツールの外観 作成中のUML図 推薦画面

インポート機能

評価実験 目的 検索対象のリポジトリ 開発者がどの程度作図を行うと,目的の設計情報が推薦されるかを確認する 大学の履修管理システムの設計情報 クラス図:73 シーケンス図:8 ユースケース図:10

実験内容 リポジトリのすべてのUML図に対して以下の処理を行う リポジトリに対して検索を実行 元のUML図が推薦されるかどうかを確認 検索クエリ生成に用いる単語の割合は5%から100%まで5%刻みで変化させて行う 試行は10回ずつ行う

実験結果

実験考察 検索に用いる単語の割合が低い段階でも上位に推薦された 開発者がUML図の一部を記述すれば再利用に適したUML図が推薦されると考えられる

まとめと今後の課題 まとめ 今後の課題 設計情報の再利用の促進を目的としたツールを提案した UML図の自動推薦を行うツールを作成した 実験を行い,ツールの検索精度を確認した 今後の課題 検索に用いる情報として,UML図のグラフ構造も扱う 被験者を用いた実験を行う