• 検索結果がありません。

一般社団法人電子情報通信学会 THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS 信学技報 IEICE Technical Report 形態素 N-gram を用いた不具合修正完了ソースコードの特定 河居寛樹

N/A
N/A
Protected

Academic year: 2021

シェア "一般社団法人電子情報通信学会 THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS 信学技報 IEICE Technical Report 形態素 N-gram を用いた不具合修正完了ソースコードの特定 河居寛樹"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)

This article is a technical report without peer review, and its polished and/or extended version may be published elsewhere. Copyright ©2013 by IEICE

形態素 N-gram を用いた不具合修正完了ソースコードの特定

河居 寛樹

上野 秀剛

伊原 彰紀

†奈良工業高等専門学校 〒639-1080 奈良県大和郡山市矢田町 22 番地

‡奈良先端科学技術大学院大学 〒565-0456 奈良県生駒市高山町 8916-5

E-mail: †{h-kawai, uwano} @info.nara-k.ac.jp, ‡[email protected]

あらまし 本研究の目的はバグ報告文から修正が完了したソースコードを予測し,開発者に提示する手法の提案である.提案

手法は形態素解析と N-gram を組み合わせ,バグ報告の文章に類似したソースコードのコミットコメントを探し,開発者に提示 する.提案手法をオープンソースソフトウェアプロジェクトのリポジトリに適用し,評価を行う.評価実験の結果,提案手法は 75.9%のバグ報告に対して正しいソースコードを推薦できた.

キーワード 開発コンテキスト,ソースコード推薦,形態素解析,N-gram

Linking Fixed Bug Report to Source Code Using N-gram

Hiroki KAWAI

Hidetake UWANO

and Akinori IHARA

†Nara National College of Technology 22 Yata-cho, Nara Yamatokoriyama, Nara, 639-1080 Japan

‡Nara Institute of Science and Technology 8916-5 Takayama-cho, Ikoma, Nara, 565-0456 Japan

E-mail: †{h-kawai, uwano} @info.nara-k.ac.jp, ‡[email protected]

Abstract This paper proposes a method to recommend the developer the source code from a bug report.The proposed method combines the N-gram and morphological analysis. It finds the commit log which similar to a comment written in the target bug report.Evaluation experiment applied the proposed method to the repository of open source software projects.The result shows that the proposed method recommended the correct source code for 75.9% of the bug reports.

Keyword Development context,Source code suggestion,Morphological analysis,N-gram

1. は じ め に

Firefox や Linux に 代 表 さ れ る オ ー プ ン ソ ー ス ソ フ ト ウ ェ ア (Open Source Software: OSS)の 発 展 や ,外 部 組 織 に 開 発 作 業 の 一 部 を 委 託 す る 外 注 の 増 加 に 伴 い , 複 数 の 国 や 地 域 に 点 在 し た 開 発 者 に よ る 分 散 開 発 が 増 え て い る . 複 数 人 に よ る ソ フ ト ウ ェ ア 開 発 で は , 開 発 者 間 の コ ミ ュ ニ ケ ー シ ョ ン が 重 要 と さ れ て お り , 開 発 者 が 直 接 顔 を 合 わ せ て 行 う オ フ ラ イ ン ミ ー テ ィ ン グ や 電 話 会 議 が 良 く 用 い ら れ る . し か し , 分 散 開 発 に お い て は こ れ ら の 手 段 は 多 大 な 移 動 時 間 ・ 費 用 が 必 要 な こ と に 加 え , 会 議 参 加 者 全 員 の ス ケ ジ ュ ー ル を 調 整 し , 同 じ 時 間 を 共 有 す る 必 要 が あ る . そ の た め , 開 発 者 間 で の コ ミ ュ ニ ケ ー シ ョ ン の 手 段 と し て オ ン ラ イ ン に よ る 非 同 期 な 情 報 交 換 が よ く 用 い ら れ て い る . ソ フ ト ウ ェ ア 開 発 に お け る 代 表 的 な オ ン ラ イ ン 非 同 期 コ ミ ュ ニ ケ ー シ ョ ン ツ ー ル と し て , メ ー リ ン グ リ ス ト (Mailing List: ML)や バ グ 管 理 シ ス テ ム (Bug Tracking System: BTS), ソ ー ス コ ー ド の バ ー ジ ョ ン 管 理 シ ス テ ム (Version Control System: VCS)が あ る .本 論 文 で は 以 降 ,こ れ ら の シ ス テ ム を 開 発 支 援 シ ス テ ム と 呼 ぶ . こ れ ら の 支 援 シ ス テ ム は 検 出 し た バ グ の 症 状 や 再 現 手 順 , 修 正 担 当 者 の 割 り 当 て , 変 更 後 の ソ ー ス コ ー ド を 記 録 す る . 開 発 者 は 不 具 合 修 正 や 機 能 拡 張 を 行 う 際 に , そ れ ま で に ど の よ う な 変 更 が , な ぜ , 誰 に よ っ て , い つ 行 わ れ た の か を 理 解 す る た め に 複 数 の 開 発 支 援 シ ス テ ム を 同 時 に 参 照 し , 開 発 の コ ン テ キ ス ト を 理 解 す る . 一 方 で , 複 数 の 開 発 支 援 シ ス テ ム に 分 散 し た , 1 つ の コ ン テ キ ス ト に 属 す る 情 報 を 参 照 す る の は 容 易 で は な い . た と え ば , BTS に 記 録 さ れ た あ る 1 つ の 不 具 合 に つ い て ,ML 上 で 議 論 さ れ た メ ー ル を 探 す た め に は , 検 索 に 用 い る 単 語 や 議 論 さ れ た 時 期 , 関 係 者 な ど そ の コ ン テ キ ス ト の 特 徴 を 表 す 情 報 を 理 解 し て い る 必 要 が あ る . こ の よ う な 情 報 は 一 般 に 開 発 支 援 シ ス テ ム に は 保 存 さ れ な い た め , コ ン テ キ ス ト を 理 解 し て い な い 開

(2)

発 者 や 過 去 の コ ン テ キ ス ト の 参 照 が 必 要 な 開 発 者 に と っ て は 検 索 が 困 難 で あ る . 本 研 究 で は コ ン テ キ ス ト を 検 索 す る 労 力 を 削 減 す る た め に , バ グ 報 告 に 関 係 す る ソ ー ス コ ー ド を 推 薦 す る 手 法 を 提 案 す る . 提 案 手 法 は , バ グ 報 告 コ メ ン ト や コ ミ ッ ト コ メ ン ト に は 一 連 の コ ン テ キ ス ト を 表 す フ レ ー ズ が 含 ま れ て い る と 仮 定 し , 形 態 素 解 析 と N-gram を 用 い て , バ グ 報 告 と 同 じ フ レ ー ズ の 含 ま れ る コ ミ ッ ト コ メ ン ト が つ い た ソ ー ス コ ー ド を 推 薦 す る . 我 々 は 予 備 調 査 と し て , す で に 修 正 が 完 了 し た バ グ 報 告 の コ メ ン ト と 修 正 さ れ た ソ ー ス コ ー ド の コ ミ ッ ト コ メ ン ト に 形 態 素 解 析 と N-gram を 適 用 し , ど れ だ け 同 じ フ レ ー ズ が 含 ま れ て い る か 調 査 し た .そ の 結 果 ,5-gram の 場 合 に 58% の コ ミ ッ ト コ メ ン ト に バ グ 報 告 コ メ ン ト か ら 取 り 出 さ れ た フ レ ー ズ が 含 ま れ て い た . 本 稿 で は グ ラ ム 数 を 変 化 さ せ た と き の 推 薦 精 度 を 調 査 し , 提 案 手 法 の 有 効 性 を 確 認 す る .

2. 開 発 支 援 シ ス テ ム

開 発 支 援 シ ス テ ム と は , 開 発 に 関 す る 履 歴 を 記 録 す る シ ス テ ム の こ と で あ る . 多 く の 開 発 プ ロ ジ ェ ク ト で は 複 数 の 開 発 支 援 シ ス テ ム を 同 時 に 利 用 す る .例 え ば , あ る バ グ が 発 見 さ れ , 除 去 さ れ る ま で に は , 1)BTS に 発 見 さ れ た バ グ が 報 告 さ れ , 2)ML で 原 因 箇 所 の 特 定 と 修 正 方 法 に つ い て の 議 論 が 行 わ れ , 3)更 新 さ れ た ソ ー ス コ ー ド が VCS に 記 録 さ れ る .個 々 の 開 発 プ ロ ジ ェ ク ト は 彼 ら の 開 発 形 態 に 適 し た 支 援 シ ス テ ム を 開 発 ・ 選 択 し , 運 用 す る . 一 方 で , OSS プ ロ ジ ェ ク ト な ど 比 較 的 規 模 の 小 さ な プ ロ ジ ェ ク ト で は , 管 理 費 用 が 掛 か ら ず , 管 理 者 の 確 保 が 不 要 な Googlecode や Source Forge と い っ た レ ン タ ル サ ー ビ ス が 多 く 利 用 さ れ る . ま た , プ ロ ジ ェ ク ト の 開 発 者 は 複 数 の 開 発 支 援 シ ス テ ム に 保 存 さ れ た 情 報 を 同 時 に 参 照 す る . た と え ば , バ グ 修 正 を 割 り 当 て ら れ た 開 発 者 は BTS に 記 録 さ れ た 症 状 の 説 明 や , ML で 行 わ れ た 議 論 を 参 考 に バ グ の 症 状 を 理 解 し ,VCS に 記 録 さ れ た ソ ー ス コ ー ド の 変 更 履 歴 を 元 に バ グ の 発 生 箇 所 を 特 定 す る . ま た , 不 具 合 修 正 や テ ス ト 設 計 の 参 考 に す る た め に , 過 去 に 存 在 し た 類 似 し た 不 具 合 を BTS や ML か ら 調 査 す る . こ の と き , 調 査 し て い る 事 柄 を 示 す 開 発 コ ン テ キ ス ト の つ な が り を 理 解 し て い な け れ ば な ら な い . 図 1 に 複 数 の 開 発 支 援 シ ス テ ム を 用 い た 開 発 に お け る コ ン テ キ ス ト の 様 子 を 示 す .3 つ の 長 方 形 は VCS・BTS・ML の 各 開 発 支 援 シ ス テ ム , 楕 円 は そ れ ぞ れ の シ ス テ ム に 保 存 さ れ た 情 報 , 楕 円 を 繋 ぐ 点 線 は 同 一 コ ン テ キ ス ト に 属 す る 情 報 の つ な が り を 表 し て い る . そ れ ぞ れ の コ ン テ キ ス ト に 含 ま れ る 情 報 は , そ の 種 類 ご と に 異 な る シ ス テ ム に 分 散 し て 保 存 さ れ て い る . あ る 情 報 に 関 係 す る 情 報 を 探 し た い と き , 点 線 で 示 さ れ る コ ン テ キ ス ト の つ な が り を 元 に 調 査 を 行 う . こ の と き , 開 発 時 の コ ン テ キ ス ト を 利 用 者 が 理 解 し て い な け れ ば 検 索 が 困 難 に な る . 例 え ば あ る 不 具 合 に つ い て BTS に は 検 出 さ れ た バ グ の 症 状 の み が 記 録 さ れ , ML 上 で 不 具 合 原 因 の 突 き 止 め や , 修 正 方 法 が 議 論 さ れ ,VCS に 修 正 履 歴 が 残 さ れ た と す る .こ の と き , BTS の 閲 覧 者 が こ の と き の 様 子 を 知 ら ず , BTS に ML や VCS へ の リ ン ク が 記 録 さ れ て い な け れ ば ,BTS に 記 録 さ れ た わ ず か な 説 明 文 か ら キ ー ワ ー ド を 推 測 し ,ML や VCS 全 体 を 検 索 す る 必 要 が あ る .こ れ は ,時 間 が 掛 か り , 見 落 と し を 引 き 起 こ す 作 業 で あ る . 一 般 に , あ る 話 題 に つ い て ど の よ う な 議 論 が ど の DSS を 使 っ て 行 わ れ た の か と い う ,開 発 の コ ン テ キ ス ト は DSS に は 記 録 さ れ ず , 情 報 同 士 の リ ン ク も 手 動 に 頼 っ て い る こ と が 多 い . そ の た め , 新 規 に プ ロ ジ ェ ク ト に 参 加 し た 開 発 者 は コ ン テ キ ス ト の 把 握 が で き な い . ま た , 以 前 か ら 参 加 し て い る 開 発 者 で あ っ て も , 過 去 の コ ン テ キ ス ト に つ い て は 思 い 出 す の が 困 難 で あ る . 複 数 シ ス テ ム の 併 用 に よ る 上 記 問 題 を 解 消 す る た め に , 複 数 の シ ス テ ム を 統 合 し た シ ス テ ム も 存 在 す る [1].こ れ ら の 統 合 シ ス テ ム で は BTS や VCS,ML の 他 に Wiki や テ ス ト 管 理 シ ス テ ム な ど を 統 合 す る こ と で , プ ロ ジ ェ ク ト の 管 理 に 必 要 な 情 報 を 1 つ の シ ス テ ム 内 で 管 理 す る . し か し , こ れ ら の 統 合 シ ス テ ム に は 以 下 の 問 題 が あ る . 図 1. 開 発 支 援 シ ス テ ム 上 の コ ミ ッ ト コ メ ン ト

(3)

1) 利 用 中 の 開 発 支 援 シ ス テ ム に 蓄 積 さ れ た 開 発 履 歴 や , リ ン ク を イ ン ポ ー ト で き な い . 2) レ ン タ ル サ ー ビ ス の よ う な 外 部 で 提 供 さ れ た 開 発 支 援 シ ス テ ム の 場 合 , シ ス テ ム の 変 更 が で き ず , 蓄 積 さ れ た 情 報 を そ の ま ま 利 用 で き な い . 3) プ ロ ジ ェ ク ト で 必 要 な 機 能 を 自 由 に 選 択 で き ず , 統 合 シ ス テ ム が 提 供 す る 機 能 し か 利 用 で き な い .

3. 提 案 手 法

提 案 手 法 は , 形 態 素 解 析 で バ グ 報 告 コ メ ン ト を 単 語 に 分 割 し ,N-gram を 用 い て 連 続 し た 単 語 を フ レ ー ズ と し て 生 成 す る . フ レ ー ズ が ソ ー ス コ ー ド の コ ミ ッ ト コ メ ン ト に 含 ま れ て い る 場 合 に , そ の ソ ー ス コ ー ド が バ グ 報 告 と 関 連 が あ る も の と し て 推 薦 す る .

3.1. 形 態 素 解 析

形 態 素 解 析 は , 自 然 言 語 で 書 か れ た 文 章 を 言 語 の 中 で 意 味 の あ る 最 小 単 位 ( 形 態 素 ) に 分 割 し , 品 詞 を 特 定 す る 手 法 で あ る . 提 案 手 法 で は , バ グ 報 告 コ メ ン ト を 単 語 に 分 割 し , 次 節 で 説 明 す る N-gram を 単 語 単 位 で 行 う た め の 前 処 理 に 用 い る . 形 態 素 解 析 シ ス テ ム に は ,オ ー プ ン ソ ー ス 形 態 素 解 析 エ ン ジ ン の MeCab1を 用 い る .

3.2. N-gram

N-gram は , 文 章 か ら N 文 字 の 連 続 し た 文 字 列 を 切 り 出 す 手 法 で あ る . 文 章 か ら 文 字 列 を 切 り 出 す 箇 所 を ず ら し な が ら , 他 の 文 章 か ら 切 り 出 し た 文 字 列 と 比 較 す る こ と で , 同 じ 文 字 列 を 含 む 文 章 を 検 出 で き る . た と え ば ,“ フ ラ グ を 更 新 す る ” と い う 文 章 に 対 し て N が 3 の N-gram を 適 用 す る と“ フ ラ グ ”,“ ラ グ を ”,“ グ を 更 ”,“ を 更 新 ”,“ 更 新 す ”,“ 新 す る ” の 計 6 個 の 文 字 列 が 抽 出 さ れ る . 他 の 文 書 か ら も 同 様 に 文 字 列 を 抽 出 し ,同 じ 文 字 列( た と え ば“ フ ラ グ ”)が 現 れ た 場 合 , そ の 文 章 同 士 は 類 似 し た 意 味 を 持 つ 可 能 性 が あ る . 提 案 手 法 で は , 形 態 素 解 析 で 分 割 し た 単 語 を N-gram に お け る 最 小 単 位 と し ,連 続 し た N 個 の 単 語( フ レ ー ズ ) を 抽 出 す る た め に 用 い る .

3.3. 形 態 素 N-gram

形 態 素 N-gram は 形 態 素 解 析 と N-gram を 組 み 合 わ せ た 手 法 で あ る . 文 字 単 位 で は な く , 形 態 素 を 単 位 と し て 文 章 に N-gram を 適 用 す る こ と で 複 数 単 語 か ら な る フ レ ー ズ や 文 を 抽 出 で き る .た と え ば ,“ フ ラ グ を 更 新 す る ” と い う 文 章 の 場 合 , N が 3 の N-gram に よ っ て “ フ ラ グ ” を 抽 出 で き る が “ ラ グ を ” と い っ た , 元 の 文 章 と は 意 味 の 異 な る 文 字 列 が 取 り 出 さ れ , 異 な る 文 章 を 推 薦 し て し ま う 可 能 性 が あ る . 形 態 素 N-gram で は ,最 小 単 位 を 形 態 素 と し て N-gram を 求 め る こ と で , 1 MeCab: http://mecab.sourceforge.net/ 元 の 文 章 と 異 な る 意 味 を 持 つ 単 語 や フ レ ー ズ の 抽 出 を 抑 制 で き る た め , 推 薦 制 度 が 高 く な る と 考 え ら れ る . 提 案 手 法 は 形 態 素 N-gram を 用 い る こ と で バ グ 報 告 コ メ ン ト か ら フ レ ー ズ を 切 り 出 し , コ ミ ッ ト コ メ ン ト に 含 ま れ る フ レ ー ズ と 比 較 す る こ と で , バ グ 報 告 と ソ ー ス コ ー ド を リ ン ク 付 け る .

3.4. 手 順

提 案 手 法 の 処 理 手 順 を 図 2 に 示 す .

1)

バ グ 報 告 の 文 章 に 形 態 素 N-gram を 適 用 し , フ レ ー ズ を 抽 出 す る .こ の と き ,文 章 を 読 点 や’? ’,’ …’,’・’な ど 文 の 終 わ り や 文 の 先 頭 を 示 す 記 号 で 区 切 り , 文 を ま た い だ 抽 出 は 行 わ な い .

2)

抽 出 し た フ レ ー ズ そ れ ぞ れ に 対 し て , コ ミ ッ ト コ メ ン ト に 出 現 す る 回 数 を カ ウ ン ト す る .

3)

バ グ 報 告 ご と に コ ミ ッ ト コ メ ン ト を カ ウ ン ト 数 の 多 い 順 に 順 位 付 け す る .

4)

上 位 の コ ミ ッ ト コ メ ン ト を 修 正 候 補 と し て 開 発 者 に 推 薦 す る .

4. 実 験

提 案 手 法 を 用 い た 推 薦 の 精 度 を 評 価 す る た め に 実 験 を 行 う . 実 験 で は オ ー プ ン ソ ー ス ソ フ ト ウ ェ ア の 開 発 プ ロ ジ ェ ク ト に 報 告 さ れ た バ グ 報 告 と , ソ ー ス コ ー ド の コ ミ ッ ト コ メ ン ト に 対 し て 提 案 手 法 を 適 用 し , 精 度 を 求 め る . 提 案 手 法 の 推 薦 精 度 は 形 態 素 N-gram を 抽 出 す る と き の N の 値 に よ っ て 異 な る と 考 え ら れ る .本 実 験 で は N を 1 か ら 10 ま で 1 ず つ 増 や し ,そ れ ぞ れ の 場 合 の 推 薦 精 度 を 評 価 す る . ま た , 提 案 手 法 の 有 用 性 を 確 認 す る た め に TF-IDF を 用 い た 推 薦 手 法 と 比 較 す る .

4.1. 推 薦 対 象

実 験 に 用 い る デ ー タ は , 日 本 語 で 記 述 可 能 な プ ロ グ ラ ミ ン グ 言 語「 な で し こ 」の 開 発 プ ロ ジ ェ ク ト で 2008 年 10 月 か ら 2010 年 9 月 に 記 録 さ れ た バ グ 報 告 の 文 章 デ ー タ と , ソ ー ス コ ー ド の コ ミ ッ ト コ メ ン ト の 文 章 デ ー タ で あ る . 開 発 者 が バ グ を 修 正 し た 際 に BTS か ら VCS へ リ ン ク 付 け し た も の を 正 解 集 合 と し て ,推 薦 精 度 を 評 価 す る . バ グ 報 告 は BTS か ら VCS へ リ ン ク が あ る も の を 用 い , ソ ー ス コ ー ド の コ ミ ッ ト コ メ ン ト は 期 間 中 に 記 録 さ れ た す べ て を 用 い る . 上 記 の 条 件 を 満 た し て い る デ ー タ 数 は , バ グ 報 告 が 145 件 , ソ ー ス コ ー ド の コ ミ ッ ト コ メ ン ト が 1842 件 ,開 発 者 に よ る バ グ 報 告 と ソ ー ス コ ー ド の コ ミ ッ ト コ メ ン ト の リ ン ク が 存 在 す る 組 ( 正 解 集 合 ) が 153 組 で あ る .

4.2. 推 薦 精 度 の評 価

そ れ ぞ れ の バ グ 報 告 に 対 し て , 提 案 手 法 に よ っ て ラ ン キ ン グ さ れ た コ ミ ッ ト コ メ ン ト の 上 位 1 位 , 5 位 , 10 位 以 内 に 答 え が 存 在 す る か 確 認 す る . 上 位 1 位 , 5

(4)

位 ,10 位 以 内 の そ れ ぞ れ に 答 え が 1 つ で も あ っ た 場 合 , 提 案 手 法 に よ り 正 し く バ グ 報 告 と ソ ー ス コ ー ド を リ ン ク 付 け で き た と み な す . こ れ を す べ て の バ グ 報 告 に 対 し て 行 い , 式 (1)で 精 度 を 求 め , 評 価 を 行 う . 精 度 は 0 ~ 1 の 範 囲 を と り , 値 が 大 き い ほ ど 正 確 に バ グ 報 告 と 修 正 さ れ た ソ ー ス コ ー ド を リ ン ク 付 け し て い る こ と を 表 す .

精 度 =

上 位n 位 内 に 答 え が あ る バ グ 報 告 数 バ グ 報 告 の 総 数 (1)

4.2.1. 提 案 手 法 の 評 価

形 態 素 N-gram を 適 用 す る 際 の N の 値 を 1 か ら 10 ま で 変 化 さ せ , そ れ ぞ れ の 精 度 を 求 め る . N-gram は , N の 値 が 大 き い ほ ど 長 い フ レ ー ズ を 抽 出 す る こ と が で き る た め , 文 章 の コ ン テ キ ス ト と 関 係 の な い 一 般 的 な フ レ ー ズ の 抽 出 を 抑 え る こ と が で き る と 考 え ら れ る . そ の た め , N の 値 を 大 き く す る ほ ど 同 一 の コ ン テ キ ス ト に 属 す る 文 章 を 適 切 に 推 薦 で き , 精 度 が 高 く な る と 考 え ら れ る .

4.2.2. TF-IDF を 用 い た 手 法 の 評 価

TF-IDF 法 は ,あ る 文 章 の 集 合( 文 章 セ ッ ト )の 中 に 含 ま れ る 一 つ の 文 章 に 注 目 し た と き , そ の 文 章 が 文 章 セ ッ ト の 中 で ど う い っ た 単 語 (term)で 特 徴 づ け ら れ る か 調 べ る 手 法 で あ る [2]. TF-IDF 値 は 式 (2)か ら (4)で 計 算 さ れ る . 𝑡𝑓𝑐,𝑛=𝑑𝑐,𝑛𝑑 𝑖,𝑛 𝐶 𝑖=1 (2) 𝑖𝑑𝑓𝑐= 𝑙𝑜𝑔|{𝑑:𝑡|𝐷| 𝑐∈𝑑}| (3) 𝑇𝐹 − 𝐼𝐷𝐹𝑐,𝑛= 𝑡𝑓𝑐,𝑛∙ 𝑖𝑑𝑓𝑐 (4) tfc , nは 単 語 c が 文 章 n に 出 現 し た 回 数 dc , nを ,n の 総 単 語 数 で 割 っ た も の で , 値 が 大 き い ほ ど 文 章 n に 単 語 c が 多 く 出 現 し て い る こ と を 表 す .idfcは c が 文 章 セ ッ ト 中 の い く つ の 文 章 に 含 ま れ て い る か を 表 す DF(Document Frequency) の 逆 数 の 対 数 で あ る .こ こ で , |D|は 全 文 章 数 , |{d: 𝑡𝑐∈ 𝑑}|は 単 語 c を 含 む ド キ ュ メ ン ト 数 を 表 す . idf の 値 が 大 き い ほ ど 単 語 c が 少 数 の 文 章 に し か 出 現 し な い こ と を 表 す . 各 文 章 に お け る 単 語 の 特 徴 度 は 式 (4)よ り 求 め る こ と が で き る . TF-IDF 値 は 文 章 に お け る そ の 単 語 の 特 徴 度 の 高 さ を 表 し て い る . TF-IDF は 重 複 し た バ グ を 見 つ け る 研 究 [3]や 電 子 メ ー ル と ソ ー ス コ ー ド を リ ン ク 付 け る 研 究 [4] で 利 用 さ れ て い る オ ー ソ ド ッ ク ス な 方 法 な た め ,TF-IDF と 提 案 手 法 の 比 較 を 行 う .TF-IDF を 用 い た 手 法 の 手 順 を 以 下 に 示 す . 1) バ グ 報 告に 形 態 素 解 析 を 適 用 す る 2) 形 態 素 解 析 の 結 果 か ら 名 詞 の み を 用 い て TF-IDF 値 を 求 め る 3) TF-IDF 値 を も と に バ グ 報 告 ご と に コ ミ ッ ト コ メ ン ト を 順 位 付 け す る

4)

上 位 の コ ミ ッ ト コ メ ン ト を 修 正 候 補 と し て 開 発 者 に 提 示 す る

4.3. 実 験 手 順

実 験 の 手 順 を 以 下 に 示 す . 1) な で し こ の 開 発 プ ロ ジ ェ ク ト の バ グ 報 告145 件 に 対 し て 提 案 手 法 を 適 用 す る 2) バ グ 報 告145 件 そ れ ぞ れ に コ ミ ッ ト コ メ ン ト が 推 薦 さ れ た 精 度 を 求 め る 3) N-gram の 値 を 変 更 し , 1)2)の 処 理 を 行 う 4) 手 法 を TF-IDF に 変 更 し , 1)2)の 処 理 を 行 う 5) 3)4)で 求 め た 精 度 を 比 較 す る 図 2: 提 案 手 法 の 処 理 手 順

(5)

5. 結 果

形 態 素 N-gram の N の 値 を 1 か ら 10 ま で 変 化 さ せ た と き の , 上 位 1 位 , 5 位 , 10 位 ま で 推 薦 し た と き の 精 度 を 図 3 に 示 す .い ず れ の 順 位 に お い て も N の 値 が 大 き く な る に つ れ て 精 度 が 向 上 し , N が 3 の 時 に 最 も 良 い 精 度 ( 上 位 1 位 : 0.759, 上 位 5 位 : 0.911, 上 位 10 位:0.981)だ っ た .そ れ 以 降 は N が 大 き く な る に つ れ 精 度 が 低 下 し た . コ ミ ッ ト コ メ ン ト の 順 位 に 注 目 す る と , よ り 低 い 順 位 ま で 推 薦 に 含 め た と き に 精 度 が 高 い . し か し , 上 位 10 位 ま で 推 薦 し た 場 合 と 上 位 5 位 ま で 推 薦 し た 場 合 に つ い て , N が 5 以 上 の 時 に 差 は 見 ら れ な か っ た . ま た ,TF-IDF を 用 い た 手 法 の 場 合 ,上 位 1 件 の み に 注 目 し た 場 合 の 精 度 は 0.634,上 位 5 件 の 場 合 は 0.876, 上 位 10 件 の 場 合 は 0.915 と な っ た . N-gram の 結 果 と TF-IDF の 結 果 を 比 較 す る と , N が 3 の 場 合 に TF-IDF よ り 高 い 精 度 が 得 ら れ た . 上 位 1 位 の み に 注 目 し た 場 合 , N が 3, 4, 5 の 場 合 に お い て TF-IDF よ り 精 度 が 高 か っ た .

6. 考 察

N-gram の N が 3 の 場 合 に お い て ,提 案 手 法 は TF-IDF を 用 い た 手 法 よ り も 高 い 精 度 で コ ミ ッ ト コ メ ン ト を 推 薦 で き た . 提 案 手 法 と TF-IDF を 用 い た 手 法 は , い ず れ も 2 つ の 文 書 に 現 れ る 単 語 か ら 類 似 性 を 推 測 す る 点 で ,似 た 手 法 と い え る .し か し ,TF-IDF を 用 い た 手 法 は 複 数 の 単 語 が 文 書 中 に 現 れ る 順 序 を 考 慮 で き な い 一 方 で , 提 案 手 法 は 形 態 素 N-gram を 抽 出 す る こ と で 単 語 の 順 序 も 考 慮 し て 文 書 間 の 類 似 性 を 見 る こ と が で き る . そ の た め , 提 案 手 法 に お い て よ り 高 い 推 薦 精 度 が あ え ら れ た と 考 え ら れ る . 特 に , 本 実 験 で 最 も 精 度 の 高 か っ た N が 3 の 場 合 , “ フ ァ イ ル の 先 頭 ” や “ 反 転 処 理 の 改 善 ” の よ う な あ る 単 語 を よ り 詳 し く 説 明 す る フ レ ー ズ を 抽 出 で き る た め , 同 じ 単 語 を 用 い た , 異 な る コ ン テ キ ス ト に 属 す る 文 章 を 推 薦 候 補 か ら 除 外 す る こ と が で き た と 考 え ら れ る . 一 方 で , N が 2 以 下 の 場 合 は , こ の よ う な 効 果 は ほ と ん ど 得 ら れ な い た め 精 度 が 低 か っ た と 考 え ら れ る . N の 値 を 大 き く す る ほ ど 精 度 が 下 が る 原 因 と し て , コ ミ ッ ト コ メ ン ト の 1 文 に 含 ま れ る 形 態 素 の 数 が 少 な い こ と が 考 え ら れ る . 提 案 手 法 で は , 文 を ま た い だ 形 態 素 N-gram の 抽 出 は 行 っ て い な い . そ の た め , あ る コ ミ ッ ト コ メ ン ト に 含 ま れ る 文 の 形 態 素 数 が い ず れ も N よ り 小 さ い 場 合 に 推 薦 を 行 え ず , 精 度 が 下 が る 可 能 性 が あ る . 実 験 で 用 い た バ グ 報 告 の 1 文 の 形 態 素 数 を 表 し た ヒ ス ト グ ラ ム を 図 4 に 示 す . 図 の 横 軸 は 1 つ の 文 に 含 ま れ る 形 態 素 の 数 を ,縦 軸 は 頻 度 を 表 し て い る . 図 よ り ,全 体 の 86.6%の デ ー タ が 27 形 態 素 ま で の 範 囲 に 存 在 し て お り , 形 態 素 数 が 10 未 満 の 文 は 全 体 の 34.8% で あ っ た . こ れ は , 実 験 に お け る , 提 案 手 法 が 抽 出 で き る 形 態 素 数 10 を 超 え る 文 が 多 数 存 在 し て い た こ と を 示 し て い る . 一 方 で , 提 案 手 法 は , バ グ 報 告 と コ ミ ッ ト コ メ ン ト か ら 長 さ N の 同 じ フ レ ー ズ を 抽 出 で き た と き に 推 薦 を 行 う た め ,い ず れ か の 形 態 素 数 が N よ り 小 さ い と ,適 切 に 推 薦 で き な い .今 後 ,正 解 集 合 の 153 組 に つ い て , そ れ ぞ れ の 取 り 得 る N の 最 大 値 を 調 べ ,そ れ を 超 え る N に よ る 推 薦 を 分 析 か ら 除 外 す る 事 で よ り 適 切 に 評 価 が 行 え る と 考 え ら れ る . 推 薦 す る 件 数 を 上 位 1 か ら ,上 位 5 位 ま で ,上 位 10 位 ま で に 増 や す ほ ど 精 度 が 向 上 し た . こ れ は , 形 態 素 N-gram の 一 致 数 に よ る 順 位 付 け に お い て ,正 解 で あ る コ ミ ッ ト コ メ ン ト を 1 位 で 推 薦 で き な か っ た 場 合 に お い て , 5 位 以 内 ,10 位 以 内 に 含 ま れ て い た こ と を 示 す . し た が っ て , 提 案 手 法 を 用 い た 推 薦 を 行 う 場 合 , 上 位 5 件 ,ま た は 上 位 10 件 を 開 発 者 に 提 示 す る こ と で ,高 い 確 率 で 適 切 な ソ ー ス コ ー ド を 推 薦 で き る こ と を 示 し て い る .

7. お わ り に

本 研 究 で は コ ン テ キ ス ト を 検 索 す る 労 力 を 削 減 す る た め に , バ グ 報 告 に 関 係 す る ソ ー ス コ ー ド を 推 薦 す る 手 法 を 提 案 し た . 提 案 手 法 は , バ グ 報 告 の コ メ ン ト か ら 形 態 素 N-gram に よ り フ レ ー ズ を 抽 出 し , バ グ 報 告 コ メ ン ト と 同 じ フ レ ー ズ を 多 く 含 ん で い る ソ ー ス コ ー ド の コ ミ ッ ト コ メ ン ト を 推 薦 す る . 提 案 手 法 を オ ー プ ン ソ ー ス ソ フ ト ウ ェ ア プ ロ ジ ェ ク ト の リ ポ ジ ト リ に 適 用 し た 結 果 , 最 大 で 75.9%の 精 度 で 推 薦 で き た . 提 案 手 法 を TF-IDF を 用 い た 推 薦 手 法 と 比 較 し た と こ ろ , N が 3 の 場 合 に TF-IDF よ り 高 い 精 度 で 推 薦 す る こ と が で き た . 今 後 , 提 案 手 法 に よ っ て 推 薦 で き な か っ た コ ミ ッ ト コ メ ン ト に つ い て 文 章 を 精 査 し , 提 案 手 法 が 適 切 に 機 図 3: 提 案 手 法 の 推 薦 精 度 0 . 0 0 0 . 1 0 0 . 2 0 0 . 3 0 0 . 4 0 0 . 5 0 0 . 6 0 0 . 7 0 0 . 8 0 0 . 9 0 1 . 0 0 1 2 3 4 5 6 7 8 9 10 精 度 Nの値 上位1位 上位5位 上位10位

(6)

能 し な い と 思 わ れ る 以 下 の 2 点 に つ い て 調 査 す る .  文 書 間 で 現 れ る 形 態 素 N-gram が 類 似 し て い る が 同 じ コ ン テ キ ス ト に 属 さ な い 場 合  同 じ コ ン テ キ ス ト に 属 し て い る ( 開 発 者 が リ ン ク し て い る ) 文 書 間 で 抽 出 さ れ る 形 態 素 N-gram が 大 き く 異 な る 場 合 ま た , バ グ 報 告 コ メ ン ト に 対 応 し た 修 正 が 行 わ れ た 際 の コ ミ ッ ト コ メ ン ト に は , バ グ 報 告 コ メ ン ト か ら コ ピ ー ・ ア ン ド ・ ペ ー ス ト し た 文 章 が 含 ま れ て い る 可 能 性 が 高 い . 今 後 , こ の よ う な 文 章 が ど れ だ け 存 在 す る の か 調 査 し , 推 薦 精 度 に ど の よ う な 影 響 を 与 え て い る か 調 査 す る .

文 献

[1] M. Ohira, R. Yokomori, M. Sakai, K. Matsumoto, K. Inoue, and K. Torii, "Empirical Project Monitor: A Tool for Mining Multiple Project Data, " In Proc. International Workshop on Mining Software Repositories (MSR2004), pp.42-46, 2004.

[2] G. Salton, and M. J. McGill, "introduction to modern information retrieval, " McGraw Hill, 1983.

[3] Chengnian Sun, David Lo, Xiaoyin Wang, Jing Jiang, Siau-Cheng Khoo, "A discriminative model approach for accurate duplicate bug report retrieval ," In Proc. the 32nd ACM/IEEE International Conference on Software Engineering, Vol.1, pp.45-54, 2010. [4] Alberto Bacchelli, Michele Lanza, Romain Robbes,

"Linking e-mails and source cod e artifacts”, In Proc. the 32nd ACM/IEEE International Conference on Software Engineering, Vol.1, pp.375-384, 2010.

図 4: 一 文 の 形 態 素 数 0 5 10 15 20 25 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101 106 頻 度 形態素数

図 4: 一 文 の 形 態 素 数  0510152025161116212631364146515661 66 71 76 81 86 91 96 101 106頻度形態素数

参照

関連したドキュメント

We proposed an additive Schwarz method based on an overlapping domain decomposition for total variation minimization.. Contrary to the existing work [10], we showed that our method

[3] Chen Guowang and L¨ u Shengguan, Initial boundary value problem for three dimensional Ginzburg-Landau model equation in population problems, (Chi- nese) Acta Mathematicae

Keywords: continuous time random walk, Brownian motion, collision time, skew Young tableaux, tandem queue.. AMS 2000 Subject Classification: Primary:

A variety of powerful methods, such as the inverse scattering method [1, 13], bilinear transforma- tion [7], tanh-sech method [10, 11], extended tanh method [5, 10], homogeneous

This paper develops a recursion formula for the conditional moments of the area under the absolute value of Brownian bridge given the local time at 0.. The method of power series

Then it follows immediately from a suitable version of “Hensel’s Lemma” [cf., e.g., the argument of [4], Lemma 2.1] that S may be obtained, as the notation suggests, as the m A

To derive a weak formulation of (1.1)–(1.8), we first assume that the functions v, p, θ and c are a classical solution of our problem. 33]) and substitute the Neumann boundary

Our method of proof can also be used to recover the rational homotopy of L K(2) S 0 as well as the chromatic splitting conjecture at primes p > 3 [16]; we only need to use the