開発履歴情報に基づいた ダイナミックコミュニティ選定支援手法

Slides:



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

1 EASE プロジェクトにおける EPM ( Empirical Project Monitor) を用いたプロジェクト管理デモ 奈良先端科学技術大学院大学 産学官連携研究員 松村 知子 2005 年 9 月 30 日 JISA 経営者セミナー.
XHTML構文検証手法における スクリプト要素の静的解析アルゴリズム
研究の背景 コードクローン ソースコード中に存在する一致または類似したコード片
プログラムの動作を理解するための技術として
卒業論文 最終発表 WWW情報検索 ナビゲーションシステムの設計と実装
変数のスコープの設計判断能力 を育成するプログラミング教育
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
(B2) 親: minami, kazuki 多様な認証機器に対応する 認証システム (B2) 親: minami, kazuki.
川口真司 松下誠 井上克郎 大阪大学大学院情報科学研究科
Java ソフトウェア部品検索システム SPARS-J のための リポジトリ自動更新機能の実現
プログラム実行履歴を用いたトランザクションファンクション抽出手法
プログラム実行時情報を用いたトランザクションファンクション抽出手法
ソースコードの変更履歴における メトリクス値の変化を用いた ソフトウェアの特性分析
コードクローンに含まれるメソッド呼び出しの 変更度合の分析
コードクローンに含まれるメソッド呼び出しの 変更度合の調査
識別子の命名支援を目的とした動詞-目的語関係の辞書構築
ソードコードの編集に基づいた コードクローンの分類とその分析システム
関数の変更履歴と呼出し関係に基づいた開発履歴理解支援システムの実現
Javaソースコード蓄積・ 検索システムSPARS-Jの概要
動的依存グラフの3-gramを用いた 実行トレースの比較手法
オープンソース開発の履歴情報を用いたコミュニティ検索支援システム
既存ソフトウェアの変更履歴を利用したソースコード修正支援手法の提案
利用関係に基づく類似度を用いたJavaコンポーネント分類ツールの作成
クローンセットに対する主要編集者の分析法の提案と調査
実行時情報に基づく OSカーネルのコンフィグ最小化
環境リスクマネジメントに関する 検索システム
WWW上の効率的な ハブ探索法の提案と実装
通信機構合わせた最適化をおこなう並列化ンパイラ
物履歴に基づいた ユーザプロファイリング機構の構築
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
オープンソース開発支援のための リビジョン情報と電子メールの検索システム
コードクローンの動作を比較するためのコードクローン周辺コードの解析
ネットワークプログラミング (3回目) 05A1302 円田 優輝.
ソースコードの静的特性を用いた Javaプログラム間類似度測定ツールの試作
Winter Workshop in Kanazawa -プロセスと方法論-
Webコミュニティ概念を用いた Webマイニングについての研究 A study on Web Mining Based on Web Communities 清水 洋志.
エピソード記憶に訴えるBookmarkless Bookmarkの実現
バイトコードを単位とするJavaスライスシステムの試作
コード片に共通した特性を自動抽出する ソースコード閲覧ツールの試作
○ 後藤 祥1,吉田 則裕2 ,井岡 正和1 ,井上 克郎1 1大阪大学 2奈良先端科学技術大学院大学
ソフトウェア保守のための コードクローン情報検索ツール
Javaバーチャルマシンを利用した 動的依存関係解析手法の提案
既存ソフトウェアの変更履歴を利用したソースコード修正支援システム
コーディングパターンの あいまい検索の提案と実装
JAVAバイトコードにおける データ依存解析手法の提案と実装
gate登録システム: 設計ポリシーから使い方まで
複数のリポジトリを統合できる バージョン管理システムの提案と試作
プログラムスライスを用いた凝集度メトリクスに基づく 類似メソッド集約候補の順位付け手法
設計情報の再利用を目的とした UML図の自動推薦ツール
保守請負時を対象とした 労力見積のためのメトリクスの提案
ソースコードの差分を用いた関数呼び出し パターンの抽出手法の提案と実装
ソースコードの差分を用いた関数呼び出し パターンの抽出手法の提案
プログラムの差分記述を 容易に行うための レイヤー機構付きIDEの提案
クローン検出ツールを用いた ソフトウェアシステムの類似度調査
オープンソースソフトウェアに対する コーディングパターン分析の適用
メソッドの同時更新履歴を用いたクラスの機能別分類法
クラスタリングを用いた ベイズ学習モデルを動的に更新する ソフトウェア障害検知手法
CO-Client Opeartion 1.1 利用履歴データベースの設計 (スキーマ バージョン 対応)
欠陥検出を目的とした類似コード検索法 吉田則裕,石尾隆,松下誠,井上克郎 大阪大学 大学院情報科学研究科
ソフトウェア理解支援を目的とした 辞書の作成法
Webページタイプによるクラスタ リングを用いた検索支援システム
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
関数の変更履歴と呼び出し関係に 基づいた開発履歴理解支援システム
オブジェクト指向言語における セキュリティ解析アルゴリズムの提案と実現
識別子の読解を目的とした名詞辞書の作成方法の一試案
オブジェクト指向メトリクスを用いた 開発支援に関する研究 --- VC++とMFCを用いた開発を対象として ---
オープンソースソフトウェア開発に見る SCM中心型ソフトウェア開発
P2Pによる協調学習システム 唐澤 信介   北海道工業大学 電気工学専攻.
Presentation transcript:

開発履歴情報に基づいた ダイナミックコミュニティ選定支援手法 ○佐々木 啓,松下 誠,井上 克郎 大阪大学大学院情報科学研究科 コンピュータサイエンス専攻 2018/9/20 1月SIGSS研究会

背景:オープンソースソフトウェア開発 複数の開発者が協力し,プロダクト開発を行う 開発者は,互いに開発情報をやりとりする事で並列に開発作業を行う ソースコード・マニュアル 電子メール バグ変更要求 開発情報はシステムに蓄積される 版管理システム (CVS:Concurrent Versions System) 電子メールアーカイブ 障害管理システム (BTS:Bug Tracking System) まず、最初に表題にありますダイナミックコミュニティについて説明をさせていただきます. 最初にその背景としてソフトウェア開発について説明いたします. 一般的なオープンソースソフトウェア開発に代表されますように・・・ 2018/9/20 1月SIGSS研究会

開発コミュニティ 開発者と開発情報に存在する三つの関連から構成される集合 トピックコミュニティ (⊆開発コミュニティ) 開発の「処理」などのトピックが含まれている トピックコミュニティ (⊆開発コミュニティ) トピックに関連する開発者と開発情報から構成されるサブコミュニティ 開発者と開発情報 開発者と開発者 開発情報と開発情報 2018/9/20 1月SIGSS研究会

トピックコミュニティ選定 ダイナミックコミュニティ トピックコミュニティから有用な開発処理を抽出することで開発のコストを軽くすることができる (従来の方法)あらかじめ人や開発情報の関連を抽出しておき,その関連から必要なトピックコミュニティの選定を図る 特定の条件には,特定の関連を検出できる 人とその人が抱えている問題に対して,有益なトピックを提供するトピックコミュニティは動的に変化する 相対性:同じ人でも,問題によって必要なトピックコミュニティは変わる 恣意性:問題が同一でも,人によって必要なトピックコミュニティは変わる 一時性:問題発生とともに発生し,問題解決すると解消する ダイナミックコミュニティ 2018/9/20 1月SIGSS研究会

Dynamic Community (DynC) 複数の人と,その人が有するKnowledgeから構成されるナレッジワークスペース†の中に構成されるサブコミュニティ イベントの発生に応じて,関連する人とそのKnowledgeを動的に選定することで構成される 開発者 開発情報 トピックコミュニティ 開発コミュニティ 人 Knowledge ダイナミックコミュニティ ナレッジワークスペース †葉雲文, 山本恭裕, 岸田孝一,“ 知識共創のためのダイナミックコミュニティ:理論・アーキテクチャ・応用”,  DynC Symposium2004, 東京, Nov.2004.

研究の目的 着目したトピックからユーザや処理に応じて関連を選定し,動的にトピックコミュニティを選定するための手法の提案を行う その手法を元にトピックコミュニティ選定支援システムの開発を行う 研究の方針 人とKnowledgeの抽出・関連付け トピックコミュニティ選定手法の提案 トピックコミュニティ選定支援システムの試作 2018/9/20 1月SIGSS研究会

人とKnowledgeの抽出・関連付け 抽出の対象 関連付け CVS,電子メール,GNATS(BTS) 人に対する重み付け,役割付けを行いroleデータベースに登録する 関連付け 人とKnowledgeの関連 人と人の関連 KnowledgeとKnowledgeの関連 “Human Knowledge rel. DB”,“Human rel. DB”, “Knowledge rel. DB”に登録する 2018/9/20 1月SIGSS研究会

CVS情報 人 識別情報 Knowledge 各ファイルの履歴情報はリポジトリに格納され,その開発履歴はリビジョン単位で保存される 人の重み付け 開発回数,開発範囲 人の役割付け トランク工程の開発:developer リビジョン 1.1, 1.2 , 1.3, …. ブランチ工程の開発:maintainer リビジョン 1.1.1.3, 1.3.1.5,…. 協力者 協力者 人 識別情報 リビジョン リビジョン 開発日時 開発日時 開発者 開発者 開発ログ 開発ログ 差分情報 差分情報 履歴情報を含むファイルはこのように構成されています. それぞれリビジョン情報ごとに分かれていて それぞれに・・・・ さらに、各リビジョンごとの差分情報を得ることが出来ます Knowledge 2018/9/20 1月SIGSS研究会

電子メール情報 人 識別情報 Knowledge 開発者はメールを通して開発に関する議論を行う 人の重み付け 人の役割付け 受信者 受信者 キーワード 人の役割付け メーリングリスト名 開発の範囲 受信者 受信者 Message ID Message ID Subject Subject 識別情報 参照ID 参照ID 人 送信日時 送信日時 書く電子メールの情報はこのようになっています。 まずそれぞれに固有の識別番号であるMessage-IDがあり,送信した開発者・・・ 送信者 送信者 本文 本文 Knowledge 2018/9/20 1月SIGSS研究会

GNATS情報 人 識別情報 Knowledge プロダクトの機能に対する拡張要求や修正要求が記載されている 起草者 起草者 修正内容 人の重み付け Class情報,優先度 人の役割付け 起草者:originator 管理人:manager 修正担当者:developer 起草者 起草者 識別情報 修正内容 修正内容 人 バグID バグID Class情報: sw-bug, doc-bug, update, change-request カテゴリ:kern, src, ..... 優先度:high, medium,low 状態: Open, feedback, Closed …. クラス:変更要求 説明: エラー状況…. 起草日時 管理人 管理人 バグの管理人:sheldonh 担当者の変更履歴: freebsd-bugs→sos 変更日時,理由:….. バグ修正の担当者:sos 状態の変更:open→closed 変更日時,理由:…….. バグ基本情報 バグ基本情報 バグの変更情報 バグの変更情報 Knowledge 次にBTSについて説明いたします. まずBTSは・・・・。 変更日時 修正担当者 修正担当者 変更日時 起草日時 2018/9/20 1月SIGSS研究会

人とKnowledgeの関連(H to K) 人と人の関連(H to H) 同じCVS,E-mail,GNATSに含まれている「人」と「Knowledge」 H to H CVS 開発者と開発ログに記載された協力者 同一のファイル・ディレクトリをコミットした開発者 E-mail 同じMessage-ID,参照IDに関わっている送信者,受信者 GNATS 同じバグ修正に関わった起草者,責任者,修正担当者 2018/9/20 1月SIGSS研究会

KnowledgeとKnowledge (K to K)の 関連付け(1/2) 開発内容と類似性に基づいて関連付けを行う 開発内容に基づく関連付け CVS 同一ディレクトリ,リポジトリに含まれるリビジョン 同時にコミットされたリビジョン E-mail 同一メールスレッドに含まれる電子メール GNATS バグの種類,概要が同じ 過去のGNATS情報を引用したGNATS情報 識別情報 バグID,ファイルパス・リビジョン番号,message-ID コミットメールへの返信メール 2018/9/20 1月SIGSS研究会

K to Kの関連付け(2/2) 開発内容と類似性に基づいて関連付けを行う 2. 類似性に基づく関連付け 類似ソースコードを含むリビジョン Subjectが一致し,送信日時が近いE-mail キーワードが同一のKnowledge 2018/9/20 1月SIGSS研究会

トピックコミュニティ選定手法 ユーザ システム 必要なトピック 入力ワード 入力ワード 履歴情報 DB Human rel. DB Knowledge Knowledge 選定した Knowledge Knowledge rel DB 関連の分類 選択した関連の分類 Human Knowledge DB 選択した関連の分類 関連する Knowledge 関連する Knowledge Human rel. DB 関連する人 関連する人 2018/9/20 1月SIGSS研究会

入力ワードの言語化 ユーザが欲しいトピックに対して,トピックを示す情報を言語化する 変更したいソースコード ディレクトリ名,ファイル名 メーリングリスト名 バグの種類,class情報 キーワード(必要だと思われる語句) 開発時間 システムへの入力として与えることで,システムはそれに該当するKnowledgeを含んだCVS,電子メール,GNATS情報の検索を行う 2018/9/20 1月SIGSS研究会

Knowledgeの検索方法 履歴情報による検索 類似ソースコードの検索 キーワード検索 開発時間による検索 ディレクトリ名,ファイル名(CVS) メーリングリスト名 (E-mail) カテゴリー,class情報 (GNATS) 開発者名 類似ソースコードの検索 ソースコード キーワード検索 キーワード 開発時間による検索 対象システム名(CVS,E-mail,GNATS),開発時間 2018/9/20 1月SIGSS研究会

検索結果 CVS履歴情報 E-mail履歴情報 GNATS履歴情報 履歴情報中に含まれる識別情報 CVSファイルパス,E-mail ID, リビジョン番号 開発者,協力者(役割) 開発日時 ソースコード 差分情報 開発ログ Subject 本文 送信者 受信者 送信日時 バグの概要 起草者 管理人,修正担当者 カテゴリー class 重要度 状態 優先度 対処方法 更新履歴 再現方法 履歴情報中に含まれる識別情報 CVSファイルパス,E-mail ID, バグID 2018/9/20 1月SIGSS研究会

トピックコミュニティ選定手法 ユーザ システム 必要なトピック 入力ワード 入力ワード 履歴情報 DB Human rel. DB Knowledge Knowledge 選定した Knowledge Knowledge rel DB 関連の分類 選択した関連の分類 Human Knowledge DB 選択した関連の分類 関連する Knowledge 関連する Knowledge Human rel. DB 関連する人 関連する人 2018/9/20 1月SIGSS研究会

Knowledgeの選定 CVS履歴情報 E-mail履歴情報 GNATS履歴情報 ファイルパス Subject リビジョン番号 本文 開発者,協力者(役割) 開発日時 ソースコード 差分情報 開発ログ Subject 本文 送信者 受信者 送信日時 バグの概要 起草者 管理人,修正担当者 カテゴリー class 重要度 状態 優先度 対処方法 更新履歴 再現方法 端的にその履歴情報を表すKnowledgeを調査 2018/9/20 1月SIGSS研究会

Knowledgeの選定 CVS履歴情報 E-mail履歴情報 GNATS履歴情報 ファイルパス Subject リビジョン番号 本文 開発者,協力者(役割) 開発日時 ソースコード 差分情報 開発ログ Subject 本文 送信者 受信者 送信日時 バグの概要 起草者 管理人,修正担当者 カテゴリー class 重要度 状態 優先度 対処方法 更新履歴 再現方法 該当する開発者が同じ役割で行った履歴情報や 開発範囲を調査することで,Knowledgeの選定を行う 2018/9/20 1月SIGSS研究会

関連の分類 システムは選定したKnowledgeに対して3つの関連の分類を提供する 開発過程 開発者 類似性 開発過程  Knowledge rel. DBから,開発内容に基づいたK to Kの関連を検索 開発者 Human Knowledge rel. DBからH to Kの関連を検索 Human rel. DB から,H to Hの関連を検索 類似性 Knowledge rel. DBから類似性に基づいたK to Kの関連を検索 2018/9/20 1月SIGSS研究会

開発過程の関連 Knowledge rel. DBから開発内容に基づいたK to Kの関連を検索 CVS履歴情報 E-mail履歴情報 GNATS履歴情報 ファイルパス リビジョン番号 開発日時 開発ログ Subject 本文 送信日時 バグの概要 対処方法 更新履歴 再現方法 検索結果 識別情報 同時にコミットされたファイル情報 ファイルの履歴情報 上位ディレクトリの開発履歴 電子メールのスレッド一覧 2018/9/20 1月SIGSS研究会

開発者による関連 Human Knowledge rel. DB, Human rel. DB からH to K,H to Hの関連を検索 CVS履歴情報 E-mail履歴情報 GNATS履歴情報 開発者,協力者 送信者 受信者 起草者 管理人,修正担当者 同じ役割(originator,manager,developer)で 行われたGNATS情報 役割(developer,maintainer)を固定した 該当開発者の開発回数,開発範囲 同じ開発者間でやりとりされたメール 検索結果 2018/9/20 1月SIGSS研究会

類似性による関連 Knowledge rel. DBから類似性に基づいたK to Kの関連を検索 CVS履歴情報 E-mail履歴情報 GNATS履歴情報 ソースコード 差分情報 開発ログ Subject 本文 バグの概要 カテゴリー class 重要度 状態 優先度 対処方法 更新履歴 再現方法 検索結果 キーワード 類似ソースコードを持つCVS情報 類似するsubjectを持つE-mail 類似するGNATS情報 2018/9/20 1月SIGSS研究会

トピックコミュニティの選定 必要なトピックを見つけるまで以下を繰り返す ユーザは選定したKnowledgeに対する関連の分類を選択する システムは関連の分類に基づいてKnowledgeを検索する ユーザは検索されたKnowledge群に対して選定を行う ユーザが興味や関心を持った関連を辿ることで,その関連を取り終えることでトピックコミュニティが選定される トピックコミュニティ 2018/9/20 1月SIGSS研究会

システムの概要 Web Server System Control CoxR Supporting DC System 関連抽出部 Query Word = ソースコード キーワード, 開発者名,開発日時   ファイル名, Query Word Web Server ユーザ CoxR System Control 該当する人,Knowledge Knowledgeと Knowledgeの 関連 人とKnowledgeの関連 人と人の 関連 履歴情報DB 開発者の役割 開発者グループ Role DB Human Knowledge Rel. DB Humans Rel. DB Knowledges Rel. DB Knowledge 人 開発情報 抽出部 CVS E-mail 関連抽出部 GNATS Supporting DC System 関連抽出の流れ 情報探索の流れ データ抽出の流れ 2018/9/20 1月SIGSS研究会

システムの概要 Web Server System Control CoxR Supporting DC System 関連抽出部 関連の選択 Web Server 必要なトピック ユーザ Knowledgeと人の関連,開発者の開発範囲,役割 CoxR System Control 該当する人,Knowledge Knowledgeと Knowledgeの 関連 人とKnowledgeの関連 人と人の 関連 履歴情報DB 開発者の役割 開発者グループ Role DB Human Knowledge Rel. DB Humans Rel. DB Knowledges Rel. DB Knowledge 人 開発情報 抽出部 CVS E-mail 関連抽出部 GNATS Supporting DC System 関連抽出の流れ 情報探索の流れ データ抽出の流れ 2018/9/20 1月SIGSS研究会

システムの実装 FreeBSD開発の履歴情報を元にシステムを実装 対象:1994年-2004年の開発情報 開発環境 CPU : Pentium4  1.5GHz RAM : 512MB(SDRAM) OS : Debian GNU/Linux 開発言語 Perl,C 情報抽出部・関連抽出部 約5500行 データ表示部 約4500行 CVS情報: FreeBSD開発のソースコードの履歴情報 ファイル数 57822, リビジョン数 618186 E-mail情報: ソースツリーへ加えられた変更に関するメール 213723通( cvs-* に含まれるメールのみ) BTS情報: GNATSに報告されたバグ情報 82350件 2018/9/20 1月SIGSS研究会

システムの適応事例 問題点 システムを用いてKerberos5に関する修正事例を調べることで問題の解決を行う Kerberos5を導入してから,sshdを採用しているPCとOpenSSHを使って通信することができない Kerberos5の認証部分に問題があるのではないだろうか? システムを用いてKerberos5に関する修正事例を調べることで問題の解決を行う 2018/9/20 1月SIGSS研究会

ソースコードによる検索 入力:ユーザ手持ちのKerberos5認証部のソースコード Kerberos5の認証部分のソースコード Supporting Dynamic Community system  KTEXT_ST auth; char *tkt_user = NULL; char *kdata = packet_get_string((unsigned int *) &auth.length); packet_integrity_check(plen, 4 + auth.length, type);  auth.length = length; if (auth.length < MAX_KTXT_LEN) memcpy(auth.dat, kdata, auth.length); xfree(kdata); if (pw != NULL) {   authenticated = auth_krb4(pw->pw_name, &auth, &tkt_user);     if (authenticated) {      snprintf(user, sizeof user, " tktuser %s", tkt_user);     xfree(tkt_user); } Kerberos5の認証部分のソースコード 2018/9/20 1月SIGSS研究会

類似コードの検索結果 検索結果:類似ソースコードを持つCVS情報一覧 リポジトリ内の類似リビジョン情報 Knowledge 各Knowledgeの中から着目すべきKnowledgeを選定を行う 2018/9/20 1月SIGSS研究会

検索結果の概要 src/crypto/openssh/auth1.cに 変更点の類似度が高いものが多い 三つのリビジョンの類似度が高い リビジョン1.1.1.4,  1.11,  1.3.2.5 リビジョン 1.1.1.4 (開発者green) 大幅なバージョンアップ リビジョン 1.11(開発者assar) OpenSSHの通信エラーに関して  バグID mics/20504の修正を行った リビジョン 1.3.2.5(開発者markm) assarの修正をブランチの開発に反映 開発者 開発ログ 2018/9/20 1月SIGSS研究会

Knowledgeの選定 該当開発者(green,assar,markm)の開発傾向,役割を調査 開発者green 該当範囲で開発回数が多く,ほとんどの                      開発に関わっていたが,最近はあまり開                       発に関わっていない 開発者assar OpenSSHのバグ修正を複数行っている “この分野の専門性がある” 開発者markm assarの開発部分と関連が深い assarの行ったKnowledgeに着目し,トピックを探る src/crypto/opensshの 開発状況 src/crypto/openssh/ auth1.cの開発履歴 2018/9/20 1月SIGSS研究会

Knowledgeの分析 選定したKnowledge(src/crypto/openssh/auth1.c revision 1.11)の分析を行う 差分情報 類似リビジョン情報 assar ・受信したメッセージに対して,認証部分の条件文を変更していることは分かる →これだけでは理解が不十分 src/crypto/openssh/auth1.c revision 1.11 2018/9/20 1月SIGSS研究会

開発内容による関連の抽出(1/2) Kerberos5の導入の問題点についてくわしく辿る 選定Knowledgeの開発内容に基づいた関連Knowledgeを検索 src/crypto/openssh/auth1.c revision 1.11 mics/20504情報 関連するGNATS情報 sheldonh 関連するE-mail情報 assar ・Kerberos5認証のopenSSHを使ってsshdが起動しているサイトに接続を行う バグの概要 openSSH とsshdは Kerberos5 による認証を介して接続できない 再現方法 ・Kerberos5の導入に関するmisc/18995,misc/20502には対応している Mark  Andrews Kerberos5の導入の問題点についてくわしく辿る 2018/9/20 1月SIGSS研究会

関連Knowledgeの分析 関連のあるGNATS情報を調べる 既存のバグに関しては,すでに作成されているパッチを misc/20502 misc/18995 sheldonh krb.hのような Kerberos IVのincludesファイルがないとKerberos5をコンパイルできない sheldonh Kerberos IVを導入せずに,Kerberos5をビルドすると,コンパイルできても,ビルドできないファイルがある markm assar assar 既存のバグに関しては,すでに作成されているパッチを 当てることにより問題解決ができる 2018/9/20 1月SIGSS研究会

開発内容による関連の抽出 (2/2) バグ修正の関連Knowledgeの検索 mics/20504情報 assar src/crypto/openssh/auth1.c revision 1.11 mics/20504情報 関連するCVS,E-mail情報 sheldonh KerberosIV,5それぞれの認証に対して,先に同じssh messageを用いて通信を行い,内容を見る前にKerberos IVか5かの判定を行う assar 対処方法 Mark  Andrews バグの対処方法を実際に行ったCVSの修正内容を辿る 2018/9/20 1月SIGSS研究会

関連Knowledgeの分析 同時に修正されたCVS情報の差分情報を分析する 抱えている問題に対して,類似したバグの修正事例を データ送信部と認証部に分けて修正されている assar markm メッセージを受け取った後に Kerberos IVか5かを判断する 同時にコミットされたCVSリポジトリ 認証がKerberos IV,5のどちらでも 同じメッセージを送信する 抱えている問題に対して,類似したバグの修正事例を 調査することで,手持ちのソースコードに対して変更を行う 2018/9/20 1月SIGSS研究会

得られたトピックコミュニティ revision 1.3.2.5 src/crypto/openssh/auth1.c green markm revision 1.1.1.4 misc/18995 assar misc/20502 sheldonh mics/20504情報 データ認証部 データ受信部 2018/9/20 1月SIGSS研究会

適応事例の考察 類似コードの検索 開発者の開発内容,役割を把握する バグ修正に関するトピックコミュニティの選定 着目すべきKnowledge群を検索する 開発者の開発内容,役割を把握する Knowledgeの選定を行う バグ修正に関するトピックコミュニティの選定 Kerberos5 の導入によるOpenSSHの不具合についての修正事例を調査する 着目したKnowledgeをもとに,ユーザが開発過程や,開発者の関連からトピックコミュニティを選定することで,修正内容を理解することができる 2018/9/20 1月SIGSS研究会

まとめと今後の課題 ダイナミックコミュニティとオープンソースソフトウェア開発への適応を説明し,トピックコミュニティの抽出についての手法を提案した システム実装について説明し,適応事例について考察した 適応実験を行うことで本研究の妥当性を評価する 開発者の役割の多様化 利用状況に応じた探索を容易にする キーワードの重み付けの改善 2018/9/20 1月SIGSS研究会