2)L3D, Univ. of Colorado, Boulder

Slides:



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

利用者のプライバシを保護す る協調フィルタリング方式の 提案 7adrm011 木澤寛厚. 背景 商品の量が多い 見つからな い orz ネットショップ.
嗜好ベクトルの近似による サービス享受条件の自動設定 立命館大学大学院 理工学研究科 データ工学研究室 ◎川成宗剛,山原裕之, 原田史子, 島川博光 2007 年 9 月 6 日.
メタモデル記述を用いた成果物間の依存関係追跡手法
顔表情クラスタリングによる 映像コンテンツへのタギング
ソースプログラム・アーカイブ・サイト -関数依存グラフと検索への応用-
Riding the Design Wave II
環境教育用E-Learningシステム の開発 平成19年度環境教育実践専修構想発表会 環境教育実践専修 鵜川研究室 彭艶萍
ソースコードの編集内容を入力とした ソフトウェア部品の自動検索
プライバシ協調フィルタリングにおける 利用者評価行列の次元削減
利用実績に基づくソフトウェア部品検索システムSPARS-J
SSR 論文調査 Safety and Cyber-Physical Systems
情報爆発A01支援班 マイサーチエンジン開発環境支援グループ 中村聡史, 大島裕明, 田中克己, 喜連川優
PaaSの起源とxaaSの今後.
中間発表用スライド 田中健太.
異種センサを用いた人の行動検知 研究概要 研究の独自性 isi担当 高汐グループ成果 スライド到着待ち yasu担当.
ユビキタス環境における コミュニケーション・ツール選択支援機構の提案
セマンティクスを利用した 図書検索システム
秘匿積集合プロトコルを利用した プライバシ協調フィルタリングの提案
バイナリ形式コンポーネントの 収集・解析・検索システムの開発
Progressive User Profiling in Recommendation Systems
センサネットワークにおける グルーピング機構
Java ソフトウェア部品検索システム SPARS-J のための リポジトリ自動更新機能の実現
「串刺し」研究アプローチの例 e-learning e-space 動画配信 システム SOI Smart Web ストリーミング技術
ソフトウェアリポジトリにおける コードクローン作成者・利用者関係分析手法とその適用
サーバ負荷分散におけるOpenFlowを用いた省電力法
プログラム実行履歴を用いたトランザクションファンクション抽出手法
概要 Boxed Economy Simulation Platform(BESP)とその基本構造 BESPの設計・実装におけるポイント!
ソースコードの変更履歴における メトリクス値の変化を用いた ソフトウェアの特性分析
識別子の命名支援を目的とした動詞-目的語関係の辞書構築
KMSF-CODEアーキテクチャ における動的QOS制御
Authoring Environment for Story-based Digital Educational Games
ソフトウェアを取り巻く環境の変化がメトリクスに及ぼす影響について
利用関係に基づく類似度を用いたJavaコンポーネント分類ツールの作成
アップデート 株式会社アプライド・マーケティング 大越 章司
只見町 インターネット・エコミュージアムの「キーワード」検索の改善
限られた保存領域を使用する Javaプログラムの実行トレース記録手法の 提案と評価
Javaプログラムの変更を支援する 影響波及解析システム
社会シミュレーションのための モデル作成環境
利用実績に基づくソフトウェア部品検索システムSPARS-J
コンポーネントランク法を用いたJavaクラス分類手法の提案
物履歴に基づいた ユーザプロファイリング機構の構築
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
ソースコードの特徴量を用いた機械学習による メソッド抽出リファクタリング推薦手法
UMLモデルを対象とした リファクタリング候補検出の試み
Winter Workshop in Kanazawa -プロセスと方法論-
Javaソフトウェア部品検索システムSPARS-Jの実験的評価
早稲田大学大学院 基幹理工学研究科 情報理工学専攻 後藤研究室 修士1年 魏 元
コードクローン分類の詳細化に基づく 集約パターンの提案と評価
SIFTとGraph Cutsを用いた 物体認識及びセグメンテーション
コーディングパターンの あいまい検索の提案と実装
複数のリポジトリを統合できる バージョン管理システムの提案と試作
Managing non-functional uncertainty via model-driven adaptivity
オブジェクトの協調動作を用いた オブジェクト指向プログラム実行履歴分割手法
設計情報の再利用を目的とした UML図の自動推薦ツール
ETPB: Extraction of Context from Pedestrians' Behavior
メソッドの同時更新履歴を用いたクラスの機能別分類法
A-17 検索履歴のプライバシーを秘匿した ユーザクラスタリング
ソースコードの編集状況に応じた ソフトウェア部品の自動推薦システム
The Personal Publication Reader: Illustrating Web Data Extraction, Personalization and Reasoning for the Semantic Web Robert Baumgartner*, Nicola Henze+,
Webページタイプによるクラスタ リングを用いた検索支援システム
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
複雑度メトリクスを用いた JAVAプログラム品質特性の実験的評価
コードクローン解析に基づく デザインパターン適用候補の検出手法
慶應義塾大学 政策・メディア研究科 修士課程 2年 間 博人
オブジェクト指向メトリクスを用いた 開発支援に関する研究 --- VC++とMFCを用いた開発を対象として ---
プログラム理解のための 付加注釈 DocumentTag の提案
Detecting Software Modularity Violations
P2Pによる協調学習システム 唐澤 信介   北海道工業大学 電気工学専攻.
Presentation transcript:

2)L3D, Univ. of Colorado, Boulder 認知モデルに基づいた関連ソフトウェア 自動収集提示システムの開発 中小路 久美代1) 山田 和明1) YE, Yunwen2) 1)東京大学先端科学技術研究センター 2)L3D, Univ. of Colorado, Boulder

構成 1.ソフトウェア再利用に必要な機能とは? 2.再利用の成功例としてのOSSとその問題点 3.ソフトウェアファーミング 4.認知モデルに基づいたソフトウェア再利用支援 5.研究経過(CodeBroker, E-Learning, etc) 6.まとめ・今後の方針

ソフトウェア再利用に必要な機能 ■ ソフトウェアリポジトリの構築・整備・管理方法の確立 ■ ソフトウェアの自動収集・検索技術の確立 前提として,開発者が 既存のソフトウェアを検索して再利用しよう! ソフトウェアを再利用するためにリポジトリに蓄えよう! 検索しやすいように詳細なコメントを書こう! というモーティベーションを持っていることが必要 技術的アプローチだけでなく認知的アプローチによる ソフトウェア再利用支援が必要

ソフトウェア再利用の成功例(OSS) オープンソースソフトウェア(OSS)の開発 公開 CVSサーバ 開発者グループ 拡張・改善 問題点 ■ 追加された拡張・改善がシステム全体に紛れ込む ため部品レベルでの品質向上が蓄積されない ■ 再利用の仕組みの解明が進んでいない

システム開発モデルの推移 開発者が利用しやすいコンポーネントリポジトリの提供が必要 伽藍モデル バザールモデル コンポーネント開発者とアプリケーション開発者が分離 良質なコンポーネントのみ蓄積 伽藍モデル コンポーネント開発者とアプリケーション開発者が混在 提供されるモノは取り敢えず蓄積 バザールモデル 開発者が利用しやすいコンポーネントリポジトリの提供が必要

目的 ■ 開発者が参加しやすいコンポーネントリポジトリ としてソフトウェアファーミングを提案 ■ 認知モデルに基づいた関連ソフトウェアの検索・   提示が可能なソフトウェア再利用支援システム   の構築

ソフトウェアファーミング OSS systems decomposing contributing reusing seeding Repository of OSS parts

再利用プロセスに必要な機能 1. Seeding : 2. Location : 3. Comprehension : 4. Modification : 5. Sharing : 既存部品の収集・分解 再利用部品の探索・抽出 再利用部品の機能・使用方法の学習 開発中のシステムにあわせて機能改善・拡張 リポジトリに還元

開発者が検索を試みないと関連ソフトウェアを探索・抽出しない 従来の再利用支援システム 開発者が検索を試みないと関連ソフトウェアを探索・抽出しない

開発者の認知的情報利用 L1: ユーザが熟知し,よく使用する機能・情報 L2: ユーザが概ね理解し,時々使用する機能・情報

開発者が存在を知らないソフトウェアの利用が促進 提案する再利用支援システム 開発者が存在を知らないソフトウェアの利用が促進

ソフトウェア再利用支援システム プログラム履歴情報 OSSの再利用部品の リポジトリ OSS Systemsのリポジトリ

ソフトウェア再利用支援システム 関連プログラムの 検索・抽出結果表示 プログラム履歴から作成されたモデル 関連プログラムを利用したユーザ群

研究経過 Javaプログラムの 再利用支援システム: CodeBroker 協調フィルタリングによる コミュニティモデル生成

CodeBroker Javaプログラムの再利用を支援するシステム Emacs上にプログラミング環境と検索要求ブラウザを統合 開発者の背景知識に基づいてタスクに関連したプログラムを提示

CodeBroker

CodeBroker

CodeBroker

CodeBroker 開発者名を表記 簡単なプログラム例を表示

CodeBroker ■ Discourse model ■ User model ■ 検索要求再定義インターフェース Skip componentsで不要なパッケージ・クラスを指定して作成 ■ User model 古いプログラムから開発者のL1領域の知識を抽出して作成 プログラム開発過程で頻度の高い知識を自動的に更新 ■ 検索要求再定義インターフェース ドキュメントコメントとシグネチャから抽出された検索要求により 開発者のタスクを正確に記述することは不可能 既存の検索手法で関連する全ての部品の検索は困難

CodeBroker:利用効果 ■ 存在を知らない部品の再利用支援 ■ 検索時間の短縮 ■デリバリの雪だるま効果 ■知識増幅効果 自律的情報検索により(L4ーL3)領域の知識を提示 ■ 検索時間の短縮 自律的情報検索により検索時間が短縮 ■デリバリの雪だるま効果 提示された再利用部品に関連した他の部品の発見を促進 ■知識増幅効果 CodeBrokerにより新しい知識を提供することで開発者の 開発能力が向上

(Collaborative Filtering : CF) 協調フィルタリング (Collaborative Filtering : CF) 嗜好パターンの類似したユーザ群の情報に基づいて各ユーザへの推薦度を求める手法 推薦 要求 推薦請求者 嗜好パターンの類似したユーザ群を抽出

協調フィルタリング:計算例 A B C D E U1 100 70 80 50 U2 60 30 U3 U4 U5 U1 U2 U3 U4 -0.7 -0.5 -0.9 -0.3 -1 -0.6 0.2 相関係数 ユーザxの嗜好度の平均 ユーザxの商品jに対する嗜好度 ユーザxの推薦度 ユーザiの相関係数 ユーザiの商品jに対する嗜好度

協調フィルタリング:問題点 データの欠損 データの規模 ■ 一般的なクラスタリング手法をそのまま適用する のは困難. ■ 一般的なクラスタリング手法をそのまま適用する  のは困難. ■ 予め分割するクラスの数を決めておくことは困難. データの規模 ■ データ規模の増加に伴う計算時間の増大

CFを用いた類似ユーザ検出 ① 各ユーザに対する相関を特徴ベクトルと捉える. ② 特徴ベクトルを用いて各ユーザに対する相関を 1 2 3 4 5 -0.7 -0.5 -0.9 -0.3 -1 -0.6 0.2 1 2 3 4 5 -0.7 -0.5 -0.9 -0.3 -1 -0.6 0.2 1 2 3 4 5 -1 ① 各ユーザに対する相関を特徴ベクトルと捉える. ② 特徴ベクトルを用いて各ユーザに対する相関を   繰り返し計算する. ③ 分類された2つのグループに対し②の操作を行う.

E-Learning インターネット E-Learning企業 ■ Internet server ■ Data base user ユーザ情報・学習コンテンツなどの管理 ■ Data base ユーザの学習履歴などの管理

実験結果 Group C 100~200問の課題を解答. 解答した問題の正解率は高い. 数問,正解率が低い課題がある. Group E 10~30問の課題を解答. Group F 正解率のバラつきが小さい. Group I 解答せずにログアウトした課題  が多い. 正解率のバラつきが大きい. Group J 正解率が0の課題が多い. Group K 解答した課題の数が0または1つ.

まとめ ■ 関連ソフトウェア自動収集提示システムの開発に おける認知的アプローチの必要性を指摘 ■ 関連ソフトウェア自動収集提示システムの開発に   おける認知的アプローチの必要性を指摘 ■ 開発者が参加しやすいコンポーネントリポジトリと   してソフトウェアファーミングを提案 ■ 自律的にユーザ情報を収集し,関連ソフトウェアを 検索・提示する再利用支援システムを提案

今後の研究方針 ■ OSSで実践されている再利用の仕組みの解明(GIMP) ■ 提案しているソフトウェア再利用支援システムの評価 ■ ソフトウェアファーミングにおける開発者間の相互支援   知識共有を促進させるための経済モデルの検討   (例:Expert Exchange http://www.experts-exchange.com)

研究成果 1. 山田和明,中小路久美代, 増田宏, 馬場靖憲, e-Learning における学習コンテンツのカスタマイズ支援-協調フィルタリングによる類似ユーザの検出, 人工知能学会研究会資料, SIG-IES-A202-10, pp.57-62, October, 2002. 2. Kumiyo Nakakoji, Kazuaki Yamada, Yasuhiro Yamamoto, Masayasu Morita, A Conceptual Framework for Leaning Experience Design, Conference on Creating, Connecting and Collaborating through Computing (C5), 2003 (in print). 3. Yunwen Ye, Programming with an Intelligent Agent, IEEE Intelligent Systems, Special Issue on AI pride, May-June, 2003 (in print). 4. Yunwen Ye, 山本恭裕,中小路久美代,岸田孝一, ソフトウェアファーミング:OSSコンポーネントリポジトリ構築のための社会技術的支援環境, ソフトウェアシンポジウム 2003, ソフトウェア技術者協会, July, 2003 (submitted). 5. Yunwen Ye, Kumiyo Nakakoji, Yasuhiro Yamamoto, Kouichi Kishida, The co-evolution of System and Community in OSS Development, Free/Open Source Software Development, S. Koch (Ed.), Idea Group Inc., (submitted).

End