主催: 名倉 正剛, 関澤 俊弦
会議名: 第28回ソフトウェア工学の基礎ワークショップ(FOSE2021)
開催地: 福島県郡山市
開催日: 2021/11/11 - 2021/11/13
p. 103-108
gitやSVN等のソフトウェアのバージョン管理システムでは,開発者が明示的にコミットと呼ばれる操作を行うことが想定されている.開発者からみて開発に関するひとつのタスクが一度のコミットとしてバージョン管理システムに記録され,コミットメッセージによってそのタスクにおける修正内容を記述することが想定されている.一度のコミットに複数のタスク(不具合修正や機能拡張など)のための修正が混ざっていたり,あるいは 1つのタスクが複数のコミットによって達成されている場合には,コミットとタスクの関係が把握しづらくなる.本稿では,コミットとタスクが 1対1に対応していない状況を想定した,ソースファイルの修正の内容から意味的に大きな変更を判定する手法を提案する.提案手法により,あるコミットのなかで意味的に大きな変更が行われたファイルを特定したり,あるいは,いくつかのコミットの中から意味的に大きな変更に相当するコミットを特定するといった作業をサポートすることを目指す.実験では,あるオープンソースのプロダクトのコミット履歴に提案手法を適用し,意味的に大きな修正を特定できるかを評価した.