版管理システムにおけるスプリットコミットの調査とその自動検出手法の提案
卒業論文, 大阪大学
特別研究報告
概要: 版管理システムとは変更履歴を管理するシステムであり,主にソフトウェア開発におけるソースコードなどの管理に利用されている.版管理システムにおいて各コミットは1つのタスクからなるべきだと言われている.しかし,1つのコミットに複数のタスクが含まれているものや,1つのタスクが複数のコミットに分割されているものも存在する.本研究では後者のコミットをスプリットコミットと呼ぶ.スプリットコミットはコミット履歴の可読性やリポジトリマイニングの性能に悪影響を与えると考えられる.本研究ではまずどのようなスプリットコミットがリポジトリに含まれているかを目視によって調査し,見つかったスプリットコミットを特徴により3つのレベルに分類した.次に目視による調査から得られた特徴から,スプリットコミットの自動検出手法を提案した.この手法では,入力としてコミットの組を受け取ると,それらのコミットの時点でのソースコードからメソッドを頂点としたグラフを構築する.このグラフ上での変更されたメソッド間の距離を用いて入力のコミットの組がスプリットコミットであるかどうかを判定し,その結果を出力する.また,提案手法の評価のために2つのオープンソースソフトウェアのリポジトリを対象とした実験を行った.目視による調査を行ったコミットに対して提案手法を適用し調査結果と比較した実験ではF値0.7,より多くのコミットに対して提案手法を適用し結果を目視によって確認した実験では適合率0.8の精度を示し,提案手法がスプリットコミットの検出に有効であることを示した.
タグ: version, control, system, split, commit, repository, analysis, software, development
@mastersthesis{有馬諒2017a,
author = {有馬 諒},
title = {版管理システムにおけるスプリットコミットの調査とその自動検出手法の提案},
school = {大阪大学},
type = {Bachelor's Thesis},
year = {2017},
month = {feb}
}