オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム

Slides:



Advertisements
Similar presentations
Web 共同編集機能を実装した メール検索システム 井上研究室 Choy Kho Yee 2006年02月27日.
Advertisements

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 ソフトウェア部品推薦のための.
Web アプリケーション開発 ~図書館管理システム~ 北海道情報大学 情報メディア学 部 情報メディア学科 新井山ゼミ 高橋 隼.
メタモデル記述を用いた成果物間の依存関係追跡手法
「図書管理」のための Webアプリケーション開発 -Apache/Tomcat/MySQL/Java on Windows XP-
Phoenixとは 2Dゲーム作成ツール. PROJECT. phoenixとは 2Dゲーム作成ツール.
JPAを利用した RESTful Webサービスの開発
オペレーティングシステムⅡ 第11回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト.
join NASS ~つながりあうネットワーク監視システム~
休講掲示板の電子化 鵜川研究室 菊地洲人 (あらかじめチラシを配る) 情報数理4年の菊地です。 これから私の研究内容の発表を始めます。
IaaS 仮想マシン(VM)をネットワーク経由で提供 負荷に応じてVM数や性能を変更できる ハードウェアの導入・管理・維持コストの削減
背景 我々の研究室で開発しているJavaプログラム解析フレ ームワークでは,解析情報はメモリ上に保持される 問題点
Perlによる競馬予想支援システムの構築
環境教育用E-Learningシステム の開発 平成19年度環境教育実践専修構想発表会 環境教育実践専修 鵜川研究室 彭艶萍
情報爆発A01支援班 マイサーチエンジン開発環境支援グループ 中村聡史, 大島裕明, 田中克己, 喜連川優
「まめだくん Ver.1.0」 特徴と利用方法.
研究基盤総合センター 応用加速器部門 木村博美
共同ローカリゼーション フレームワーク 井上 謙次.
セマンティクスを利用した 図書検索システム
ストリーム処理エンジンを用いた 顔映像に対する 補助情報提供システム
SS2009 形式手法の適用ワーキング グループの報告
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
(B2) 親: minami, kazuki 多様な認証機器に対応する 認証システム (B2) 親: minami, kazuki.
開発履歴情報に基づいた ダイナミックコミュニティ選定支援手法
川口真司 松下誠 井上克郎 大阪大学大学院情報科学研究科
Java ソフトウェア部品検索システム SPARS-J のための リポジトリ自動更新機能の実現
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
プログラム実行履歴を用いたトランザクションファンクション抽出手法
プログラム実行時情報を用いたトランザクションファンクション抽出手法
ソースコードの変更履歴における メトリクス値の変化を用いた ソフトウェアの特性分析
過負荷時の分散ソフトウェアの 性能劣化を改善する スケジューリングの提案
SOAP/UDDI/WSDLによるB2Bシステムの開発
ソードコードの編集に基づいた コードクローンの分類とその分析システム
関数の変更履歴と呼出し関係に基づいた開発履歴理解支援システムの実現
Javaソースコード蓄積・ 検索システムSPARS-Jの概要
2009年度卒業論文発表 CDNコンテンツサーバの動的負荷分散
オブジェクト指向プログラムにおける エイリアス解析手法の提案と実現
インラインスクリプトに対するデータフロー 解析を用いた XHTML 文書の構文検証
オープンソース開発の履歴情報を用いたコミュニティ検索支援システム
既存ソフトウェアの変更履歴を利用したソースコード修正支援手法の提案
ソフトウェアを取り巻く環境の変化がメトリクスに及ぼす影響について
WebGIS開発 総合政策学部2年 飯塚直 2004年10月14日 厳網林研究会.
実行時情報に基づく OSカーネルのコンフィグ最小化
只見町 インターネット・エコミュージアムの「キーワード」検索の改善
社会シミュレーションのための モデル作成環境
コードクローン検出ツールを用いた ソースコード分析システムの試作と プログラミング演習への適用
通信機構合わせた最適化をおこなう並列化ンパイラ
オープンソース開発支援のための リビジョン情報と電子メールの検索システム
UMLモデルを対象とした リファクタリング候補検出の試み
データベース設計 第7回 実用データベースの運用例 クライアント=サーバシステム(1)
バイトコードを単位とするJavaスライスシステムの試作
Javaソフトウェア部品検索システムSPARS-Jの実験的評価
ソフトウェア保守のための コードクローン情報検索ツール
Peer-to-Peerシステムにおける動的な木構造の生成による検索の高速化
既存ソフトウェアの変更履歴を利用したソースコード修正支援システム
コーディングパターンの あいまい検索の提案と実装
複数のリポジトリを統合できる バージョン管理システムの提案と試作
オブジェクトの協調動作を用いた オブジェクト指向プログラム実行履歴分割手法
設計情報の再利用を目的とした UML図の自動推薦ツール
ソースコードの差分を用いた関数呼び出し パターンの抽出手法の提案と実装
クローン検出ツールを用いた ソフトウェアシステムの類似度調査
メソッドの同時更新履歴を用いたクラスの機能別分類法
開発作業の形式化に基づく プロセス評価 松下誠 大阪大学.
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
MPIを用いた 並列処理 情報論理工学研究室 06‐1‐037‐0246 杉所 拓也.
関数の変更履歴と呼び出し関係に 基づいた開発履歴理解支援システム
オブジェクト指向言語における セキュリティ解析アルゴリズムの提案と実現
オブジェクト指向メトリクスを用いた 開発支援に関する研究 --- VC++とMFCを用いた開発を対象として ---
Presentation transcript:

オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム 井上研究室 石川 武志

オープンソース 一般に広く公開されたソフトウェア オープンソース開発 誰でも自由に使用できる 広くフィードバックを得ることが可能となる プロダクトを広く公開することを基礎とする開発手法 各開発者は,いつでも自由に参加することができる 分散した多くの開発者が,並列的に開発作業を行える オープンソースの持つ高い品質を支えている 2002/02/19 修士論文発表会

オープンソース開発環境 CVS 電子メール アーカイブ ソースコード管理 リビジョン情報取得 意思疎通 作業進捗 連係なし 開発者 開発者 2002/02/19 修士論文発表会

現状の問題点 (1/2) CVS 電子メール アーカイブ 連係なし このリビジョンの 話題がメールに あったかも… 開発者 開発者 開発者 あの話題に関する 議論の続きは? 開発者Aの 作業履歴は? ファイル数:約100,000個 リビジョン数:約700,000個 データサイズ:約1.5GB メール総数:約1,000,000通 (約3000通/week) データサイズ:約2.6GB CVS 電子メール アーカイブ 連係なし 2002/02/19 修士論文発表会

現状の問題点 (2/2) 各システムの持つ情報を再利用しにくい 各システムの相互連係が不足している 各システムが,それぞれ固有の形式で開発情報を蓄積しているため,開発者がそれらの情報を利用しにくい 例)CVSは,ファイル単位でリビジョン情報を管理する ファイル単位での情報取得は容易に可能である ファイル単位以外での情報取得は困難である 開発者,更新日時,キーワード,etc. 各システムの相互連係が不足している 各システムが互いに連係を持たず,開発情報が分散して存在する 例)CVSのリビジョン情報と電子メールの話題は連係を持たない リビジョン情報を参照しながら,関連する電子メールを参照するのは難しい 電子メールを参照しながら,関連するリビジョン情報を参照するのは難しい 2002/02/19 修士論文発表会

研究の目的 ソースコード及びメールの履歴対応表示システム SPxR (Software Products CROSS Reference system) 取得した情報をデータベース化して管理する 過去の膨大な開発履歴や,現状の開発作業に関するさまざまな情報を,開発者の要求に応じて表示・検索し,提供することが可能になる 「システム間の連係不足」を補うために,統合情報を生成する 分散して存在する各システムから取得した情報の中で,関連があるものを統合して,相互の情報に連係を持たせることが可能になる 2002/02/19 修士論文発表会

ソースコード及びメールの履歴対応表示システム 開発者 開発者 参照要求 参照結果 履歴データ表示システム 情報取得 履歴データベースシステム CVS情報データベース CVS情報生成ツール CVS情報管理部 統合情報データベース 統合情報生成ツール 統合情報管理部 電子メール情報データベース 電子メール情報生成ツール 電子メール情報管理部 情報取得・生成 ソースコード及びメールの 履歴対応表示システム (SPxR) CVS 電子メールアーカイブ 2002/02/19 修士論文発表会

情報のデータベース化 CVS および電子メールアーカイブをデータベース化する 情報をデータベース化することによる利点 情報を取得するコストが大幅に削減できる 一度取得した情報が変化することはない 同じデータを何度も取得する必要がない 必要な情報を付加して管理することが可能となる 関連情報などの付加が容易に行える 情報の検索能力が向上する 情報間の関連が変化することはない 検索する際に情報を取得する必要がない 2002/02/19 修士論文発表会

情報の関連 CVS情報 電子メール情報 統合情報 CVS情報 電子メール情報 電子メール情報 ファイルパス:src/bin/ln/ln.1,v リビジョン番号:1.15 更新日時(エポック秒):2001/04/26 17:15:57 (988305357) 更新作業者:sobomax キーワード:NetBSD 内部識別番号:c260678 関連識別番号:c260708 電子メール情報 メッセージID:200104261715.f3QHFvs90663@freefall.freebsd.org 送信者(電子メールアドレス):Maxim Sobolev (sobomax@FreeBSD.org) 送信日時(エポック秒):Thu, 26 Apr 2001 10:15:57 -0700 (PDT) (988305357) サブジェクト:cvs commit: src/bin/ln ln.1 ln.c キーワード:NetBSD 内部識別番号:m16118 関連識別番号:m16128, m16143, m16158, m16168, m16259 更新作業者:sobomax 更新日時:2001/04/26 10:15:57 PDT 更新ファイルパスとリビジョン番号:src/bin/ln/ln.1; 1.15 電子メール情報 メッセージID:200104261715.f3QHFvs90663@freefall.freebsd.org 送信者(電子メールアドレス):Maxim Sobolev (sobomax@FreeBSD.org) 送信日時(エポック秒):Thu, 26 Apr 2001 10:15:57 -0700 (PDT) (988305357) サブジェクト:cvs commit: src/bin/ln ln.1 ln.c キーワード:NetBSD 内部識別番号:m16118 関連識別番号:m16128, m16143, m16158, m16168, m16259 更新作業者:sobomax 更新日時:2001/04/26 10:15:57 PDT 更新ファイルパスとリビジョン番号:src/bin/ln/ln.1; 1.15 CVS情報 同じ更新作業者が,同じ更新日時に更新作業を行った複数のリビジョンがあるとき,それらの情報は相互に関連を持つ 電子メール情報 一方の電子メールが他方の電子メールの返信であるとき,それらの情報は相互に関連を持つ 統合情報 CVS情報と電子メール情報が,同じファイルパス,リビジョン番号に関する情報を持つとき,それらの情報は相互に関連を持つ CVS情報と電子メール情報が同じキーワードを持つとき,それらの情報は相互に関連を持つ 統合情報 内部識別番号:c260708 関連識別番号:c260678, m16128 CVS情報 ファイルパス:src/bin/ln/ln.c,v リビジョン番号:1.19 更新日時(エポック秒):2001/04/26 17:15:57 (988305357) 更新作業者:sobomax キーワード:NetBSD 内部識別番号:c260708 関連識別番号:c260678 CVS情報 ファイルパス:src/bin/ln/ln.c,v リビジョン番号:1.19 更新日時(エポック秒):2001/04/26 17:15:57 (988305357) 更新作業者:sobomax キーワード:NetBSD 内部識別番号:c260708 関連識別番号:c260678 電子メール情報 メッセージID:20010426203418.A72921@sunbay.com 送信者(電子メールアドレス):Ruslan Ermilov (ru@FreeBSD.org) 送信日時(エポック秒):Thu, 26 Apr 2001 20:34:18 +0300 (988306458) サブジェクト:Re: cvs commit: src/bin/ln ln.1 ln.c キーワード:NetBSD 内部識別番号:m16128 関連識別番号:m16118, m16143, m16158, m16168, m16259 統合情報 内部識別番号:m16118 関連識別番号 c260708, m16128, m16143, m16158, m16168, m16259 2002/02/19 修士論文発表会

情報の検索 参照 参照 CVS情報 統合情報 電子メール情報 2002/02/19 修士論文発表会

システムの実装 ソースコード及びメールの履歴対応表示システム(SPxR)の実装を行った 目的 開発環境 CVS情報と電子メール情報を取得し,データベース化して管理する 両者の情報から統合情報を生成し,データベース化して管理する データベース化された情報を開発者に効率よく提供することで,作業を支援することができる 開発環境 CPU : PentiumIII 1GHz RAM : 256MB OS : Linux version 2.4.17 2002/02/19 修士論文発表会

履歴データベースシステム 言語 : perl 5.6.1 約2100行 データベース : PostgreSQL 7.1.3,BerkeleyDB(perl5) CVS情報管理部 CVS情報生成ツール(cvsinfogen.pl) CVS情報データベース 電子メール情報管理部 電子メール情報生成ツール(mailinfogen.pl) 電子メール情報データベース 統合情報管理部 統合情報生成ツール(integinfogen.pl) 2002/02/19 修士論文発表会

履歴データ表示システム 言語 : perl 5.6.1 (CGI) 約1500行 WEBサーバ : Apache 1.3.23 履歴データ表示システム(spxr.cgi) CVS情報を 基準にした 統合情報 表示画面 電子メール情報を 基準とした 統合情報 表示画面 電子メール情報表示画面 CVS情報 表示画面 トップ画面 2002/02/19 修士論文発表会

統合情報の妥当性 (1/2) システム統合情報:システムが生成した統合情報 開発者統合情報:開発者が生成した統合情報 あるメーリングリストの電子メール100通を対象とした システム 統合情報 開発者 統合情報 メーリングリスト a1 a2 a3 cvs-all 1 90 2 8 cvs-all 2 82 4 14 cvs-all 3 85 3 12 freebsd-questions 1 35 53 freebsd-questions 2 41 10 49 freebsd-questions 3 37 a2 a1 a3 2002/02/19 修士論文発表会

統合情報の妥当性 (2/2) メーリングリストcvs-all メーリングリストfreebsd-questions 主にコミットメールが多いため,システム統合情報と開発者統合情報に含まれるものが多い コミットメールの場合には,本文中に更新されたファイルパスとリビジョン番号が記述されているため,関連を持つCVS情報が特定しやすい メーリングリストfreebsd-questions ほとんどが議論メールであるため,システム統合情報と開発者統合情報に含まれるものが少なくなり,一方に含まれるものが多くなる 議論メールの場合には,本文中からいくつかのキーワードを抽出して,CVS情報のキーワードと比較するため,コミットメールの場合と比べると,関連を持つCVS情報が特定しにくい 電子メールから有効なキーワードを抽出する工夫が必要 2002/02/19 修士論文発表会

まとめ 現状のオープンソース開発環境における問題点を指摘した 「システム固有の情報蓄積」 「システム間の連係不足」 ソースコード及びメールの履歴対応表示システム(SPxR)を設計し,その実装を行った 情報のデータベース化 情報の関連,統合情報 実際のオープンソース開発で用いられているデータを用いて本システムの適用実験を行った 統合情報の妥当性に関する検証を行った 2002/02/19 修士論文発表会

今後の課題 実行速度と検索能力の向上 実際のオープンソース開発へ適用 実行速度の向上については,データベース構造やテキスト処理を工夫することが可能であり,改善の余地を残している 検索能力の向上については,複数の電子メールの中から関連を持つメールを検索するシステムに関する研究が行われている 実際のオープンソース開発へ適用 オープンソース開発者からフィードバックを得る 現状のオープンソース開発環境に貢献する 2002/02/19 修士論文発表会