楠, "修正の分類に基づくリポジトリ再構築手法," , 2013年2月.
ID 279
分類 学位論文
タグ software repository mining version control system commit longest common subsequence
表題 (title) 修正の分類に基づくリポジトリ再構築手法
表題 (英文) Reconstruction Software Repositories Based on Classifying Modifications
著者名 (author) 楠 野明
英文著者名 (author) Noa Kusunoki
キー (key) Noa Kusunoki
刊行月 (month) 2
出版年 (year) 2013
刊行形式 (howpublished)
URL
付加情報 (note)
注釈 (annote)
内容梗概 (abstract) 近年,ソフトウェアリポジトリマイニングが注目されている.ソフトウェアリポジトリにはソフトウェアの開発に関する様々な情報が格納されている.リポジトリに格納されている情報を抽出(マイニング)することによって,将来の開発および保守作業に有益な知見を得ることができる.ソフトウェアリポジトリマイニングにおいては,コミットの情報を利用することが多い.コミットとは,開発者が手元で行ったソースコードなどに対する変更をリポジトリに対して反映させることである.コミットを分析することによって,開発者が過去に行った変更に関する情報を得ることができる.
しかし,コミットの中には他に比べて非常に規模の大きいものが存在する.それらは例えばフォーマット変更などであり,IDEのフォーマット一括変換機能等を用いて自動的にフォーマットが整えられるという修正である.このような規模の大きいコミットの存在は,その他のコミットから抽出した情報の影響を過度に低くしてしまう場合がある.たとえば,各モジュールにおいて過去に修正された総行数を計算することにより,それらに必要であった修正コストを見積もる場合,IDEによるフォーマット変換は考慮に入れるべきではない.もしそれらを考慮に入れてしまうと,正しい見積もりが行えなくなる.このような理由により,規模の大きなコミットはしばしば分析対象から除外される.しかし,フォーマット変換と同時に数行に対してバグ修正を行っているコミットが存在した場合,このコミットの除外によりフォーマット変換による影響を取り除くことができるが,バグ修正の影響も図らず取り除いてしまう.
このような,1つのコミット中に複数の修正が存在することによって発生する問題を解決するため,本研究ではコミットに含まれる修正を分類し,それに基づいてコミットを分離する手法を提案する.提案手法を用いることによって,各コミットには一種類のみの修正が含まれるようになる.よって,規模の大きいコミットを除外することによって,数行のバグ修正に関する情報までも取り除いてしまうことがなくなる.
提案手法を実装し,評価実験を行った.ソフトウェア開発者による手動のコミット分離との比較を行った結果,提案手法によるコミット分離の適合率は67%,再現率は72%であった.また,大規模なオープンソースソフトウェアに対して適用し,多数のコミットに複数種類の分類が含まれていたことを確認した.
論文電子ファイル thesis_k-noa.pdf (application/pdf) [一般閲覧可]
BiBTeXエントリ
@misc{id279,
         title = {修正の分類に基づくリポジトリ再構築手法},
        author = {楠 野明},
         month = {2},
          year = {2013},
}