オープンソース開発支援のための...

17
Software Engineering Research Group, Department of Informatics and Mathematical Science, Graduate School of Engineering Science, Osaka University オオオオオオオオオオオオオオオ オオオオオオオオオオオオオオオオオオオオオオ オオオオオ オオ オオ

Upload: engelbert-nathanial

Post on 03-Jan-2016

17 views

Category:

Documents


2 download

DESCRIPTION

オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム. 井上研究室 石川 武志. オープンソース. 一般に広く公開されたソフトウェア 誰でも自由に使用できる 広くフィードバックを得ることが可能となる オープンソース開発 プロダクトを広く公開することを基礎とする開発手法 各開発者は,い つでも自由に参加することができる 分散した多くの開発者が,並列的に開発作業を行える オープンソースの持つ高い品質を支えている. ソースコード管理 リビジョン情報取得. 意思疎通 作業進捗. 電子メール アーカイブ. CVS. 連係なし. - PowerPoint PPT Presentation

TRANSCRIPT

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

Software Engineering Research Group, Department of Informatics and Mathematical Science, Graduate School of Engineering Science, Osaka University

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

ステム

井上研究室石川 武志

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

2002/02/19 修士論文発表会2Software Engineering Research Group, Department of Informatics and Mathematical Science, Graduate School of Engineering Science, Osaka University

オープンソース一般に広く公開されたソフトウェア

誰でも自由に使用できる広くフィードバックを得ることが可能となる

オープンソース開発プロダクトを広く公開することを基礎とする開発手法

各開発者は,いつでも自由に参加することができる分散した多くの開発者が,並列的に開発作業を行える

オープンソースの持つ高い品質を支えている

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

2002/02/19 修士論文発表会3Software Engineering Research Group, Department of Informatics and Mathematical Science, Graduate School of Engineering Science, Osaka University

オープンソース開発環境開発者 開発者開発者

CVS電子メールアーカイブ

ソースコード管理リビジョン情報取得

意思疎通作業進捗

連係なし

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

2002/02/19 修士論文発表会4Software Engineering Research Group, Department of Informatics and Mathematical Science, Graduate School of Engineering Science, Osaka University

現状の問題点 (1/2)

開発者 開発者開発者

CVS電子メールアーカイブ連係なし

ファイル数:約100,000個

リビジョン数:約700,000個

データサイズ:約 1.5GB

開発者 Aの作業履歴は?

メール総数:約 1,000,000通(約 3000通/week)データサイズ:約 2.6GB

あの話題に関する議論の続きは?

このリビジョンの話題がメールにあったかも…

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

2002/02/19 修士論文発表会5Software Engineering Research Group, Department of Informatics and Mathematical Science, Graduate School of Engineering Science, Osaka University

現状の問題点 (2/2)各システムの持つ情報を再利用しにくい

各システムが,それぞれ固有の形式で開発情報を蓄積しているため,開発者がそれらの情報を利用しにくい

例) CVS は,ファイル単位でリビジョン情報を管理するファイル単位での情報取得は容易に可能であるファイル単位以外での情報取得は困難である

– 開発者,更新日時,キーワード, etc.

各システムの相互連係が不足している各システムが互いに連係を持たず,開発情報が分散して存在する

例) CVS のリビジョン情報と電子メールの話題は連係を持たないリビジョン情報を参照しながら,関連する電子メールを参照するのは難しい電子メールを参照しながら,関連するリビジョン情報を参照するのは難しい

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

2002/02/19 修士論文発表会6Software Engineering Research Group, Department of Informatics and Mathematical Science, Graduate School of Engineering Science, Osaka University

研究の目的ソースコード及びメールの履歴対応表示システム SPxR (Software Products CROSS Reference system)

取得した情報をデータベース化して管理する過去の膨大な開発履歴や,現状の開発作業に関するさまざまな情報を,開発者の要求に応じて表示・検索し,提供することが可能になる

「システム間の連係不足」を補うために,統合情報を生成する

分散して存在する各システムから取得した情報の中で,関連があるものを統合して,相互の情報に連係を持たせることが可能になる

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

2002/02/19 修士論文発表会7Software Engineering Research Group, Department of Informatics and Mathematical Science, Graduate School of Engineering Science, Osaka University

ソースコード及びメールの履歴対応表示システム

CVS電子メールアーカ

イブ

ソースコード及びメールの履歴対応表示システム

(SPxR)

開発者 開発者

履歴データ表示システム 参照結果参照要求

履歴データベースシステム

CVS 情報データベース

CVS 情報生成ツール

CVS 情報管理部

統合情報データベース

統合情報生成ツール

統合情報管理部

電子メール情報データベース

電子メール情報生成ツール

電子メール情報管理部

情報取得

情報取得・生成

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

2002/02/19 修士論文発表会8Software Engineering Research Group, Department of Informatics and Mathematical Science, Graduate School of Engineering Science, Osaka University

情報のデータベース化CVS および電子メールアーカイブをデータベース化する情報をデータベース化することによる利点

情報を取得するコストが大幅に削減できる一度取得した情報が変化することはない同じデータを何度も取得する必要がない

必要な情報を付加して管理することが可能となる関連情報などの付加が容易に行える

情報の検索能力が向上する情報間の関連が変化することはない検索する際に情報を取得する必要がない

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

2002/02/19 修士論文発表会9Software Engineering Research Group, Department of Informatics and Mathematical Science, Graduate School of Engineering Science, Osaka University

情報の関連CVS 情報

同じ更新作業者が,同じ更新日時に更新作業を行った複数のリビジョンがあるとき,それらの情報は相互に関連を持つ

電子メール情報一方の電子メールが他方の電子メールの返信であるとき,それらの情報は相互に関連を持つ

統合情報CVS 情報と電子メール情報が,同じファイルパス,リビジョン番号に関する情報を持つとき,それらの情報は相互に関連を持つCVS 情報と電子メール情報が同じキーワードを持つとき,それらの情報は相互に関連を持つ

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.1,v

• リビジョン番号: 1.15

• 更新日時(エポック秒): 2001/04/26 17:15:57 (988305357)

• 更新作業者: sobomax

• キーワード: NetBSD

• 内部識別番号: c260678

• 関連識別番号: c260708

電子メール情報• メッセージ ID : [email protected]

• 送信者(電子メールアドレス): Maxim Sobolev ([email protected])

• 送信日時(エポック秒): 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 : [email protected]

• 送信者(電子メールアドレス): Ruslan Ermilov ([email protected])

• 送信日時(エポック秒): 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

CVS 情報• ファイルパス: src/bin/ln/ln.c,v

• リビジョン番号: 1.19

• 更新日時(エポック秒): 2001/04/26 17:15:57 (988305357)

• 更新作業者: sobomax

• キーワード: NetBSD

• 内部識別番号: c260708

• 関連識別番号: c260678

電子メール情報• メッセージ ID : [email protected]

• 送信者(電子メールアドレス): Maxim Sobolev ([email protected])

• 送信日時(エポック秒): 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

統合情報• 内部識別番号: m16118

• 関連識別番号 c260708, m16128, m16143, m16158, m16168, m16259

統合情報• 内部識別番号: c260708

• 関連識別番号: c260678, m16128

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

2002/02/19 修士論文発表会10Software Engineering Research Group, Department of Informatics and Mathematical Science, Graduate School of Engineering Science, Osaka University

情報の検索

CVS 情報 電子メール情報

参照 参照

統合情報

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

2002/02/19 修士論文発表会11Software Engineering Research Group, Department of Informatics and Mathematical Science, Graduate School of Engineering Science, Osaka University

システムの実装ソースコード及びメールの履歴対応表示システム(SPxR) の実装を行った

目的CVS 情報と電子メール情報を取得し,データベース化して管理する両者の情報から統合情報を生成し,データベース化して管理するデータベース化された情報を開発者に効率よく提供することで,作業を支援することができる

開発環境CPU : PentiumIII 1GHz

RAM : 256MB

OS : Linux version 2.4.17

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

2002/02/19 修士論文発表会12Software Engineering Research Group, Department of Informatics and Mathematical Science, Graduate School of Engineering Science, Osaka University

履歴データベースシステム言語 : perl 5.6.1 約 2100 行データベース : PostgreSQL 7.1.3 , BerkeleyDB( perl5 )

CVS 情報管理部CVS 情報生成ツール (cvsinfogen.pl)

CVS 情報データベース

電子メール情報管理部電子メール情報生成ツール (mailinfogen.pl)

電子メール情報データベース

統合情報管理部統合情報生成ツール (integinfogen.pl)

電子メール情報データベース

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

2002/02/19 修士論文発表会13Software Engineering Research Group, Department of Informatics and Mathematical Science, Graduate School of Engineering Science, Osaka University

トップ画面

履歴データ表示システム言語 : perl 5.6.1 (CGI) 約 1500 行WEB サーバ : Apache 1.3.23

履歴データ表示システム (spxr.cgi)

CVS 情報表示画面

電子メール情報表示画面

CVS 情報を基準にした

統合情報表示画面

電子メール情報を基準とした

統合情報表示画面

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

2002/02/19 修士論文発表会14Software Engineering Research Group, Department of Informatics and Mathematical Science, Graduate School of Engineering Science, Osaka University

統合情報の妥当性 (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 12 53

freebsd-questions 2 41 10 49

freebsd-questions 3 37 14 49

a1 a3a2

システム統合情報

開発者統合情報

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

2002/02/19 修士論文発表会15Software Engineering Research Group, Department of Informatics and Mathematical Science, Graduate School of Engineering Science, Osaka University

統合情報の妥当性 (2/2)メーリングリスト cvs-all

主にコミットメールが多いため,システム統合情報と開発者統合情報に含まれるものが多い

コミットメールの場合には,本文中に更新されたファイルパスとリビジョン番号が記述されているため,関連を持つ CVS 情報が特定しやすい

メーリングリスト freebsd-questionsほとんどが議論メールであるため,システム統合情報と開発者統合情報に含まれるものが少なくなり,一方に含まれるものが多くなる

議論メールの場合には,本文中からいくつかのキーワードを抽出して,CVS 情報のキーワードと比較するため,コミットメールの場合と比べると,関連を持つ CVS 情報が特定しにくい

電子メールから有効なキーワードを抽出する工夫が必要

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

2002/02/19 修士論文発表会16Software Engineering Research Group, Department of Informatics and Mathematical Science, Graduate School of Engineering Science, Osaka University

まとめ現状のオープンソース開発環境における問題点を指摘した

「システム固有の情報蓄積」「システム間の連係不足」

ソースコード及びメールの履歴対応表示システム(SPxR) を設計し,その実装を行った

情報のデータベース化情報の関連,統合情報

実際のオープンソース開発で用いられているデータを用いて本システムの適用実験を行った

統合情報の妥当性に関する検証を行った

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

2002/02/19 修士論文発表会17Software Engineering Research Group, Department of Informatics and Mathematical Science, Graduate School of Engineering Science, Osaka University

今後の課題実行速度と検索能力の向上

実行速度の向上については,データベース構造やテキスト処理を工夫することが可能であり,改善の余地を残している検索能力の向上については,複数の電子メールの中から関連を持つメールを検索するシステムに関する研究が行われている

実際のオープンソース開発へ適用オープンソース開発者からフィードバックを得る現状のオープンソース開発環境に貢献する