コードレビューにおける暗黙的なソースコード改善パターンの抽出手法提案

上田 裕己


本発表では,ソフトウェア開発における作業の一つであるコードレビューの効率化を目指し,コードレビューで行われるソースコード改善方法をパターン化する手法を提案する. オープンソースソフトウェア (以降,OSS) は,多数のパッチ開発者からソースコード変更提案の投稿を受け付けることで高機能かつ高品質なソフトウェアへと進化している. しかし,パッチ開発者からの変更提案が必ずしもプロジェクトの実装方針に従っていないことがある. そのため,検証者と呼ばれる開発者がコードレビューを実施し,パッチ開発者にソースコードの問題点の改善を提案する. ソースコード改善を伴うコードレビューはソフトウェア開発の中で最も多くの時間的コストを必要とする作業である. 変更投稿前にパッチ開発者が自らソースコードの問題点に気付くことで,レビューコストの削減が可能である. しかし,パッチ開発者は自身が投稿したパッチに,検証者が指摘する事項が含まれているか確認することはできない. 本発表では,コードレビューコスト削減のために,コードレビューでのソースコード改善内容をパターンとして抽出することで, パッチ開発者が頻繁に出現するコード改善パターンをもとに検証者を介さずソースコードの改善を行うことを目的とする. アプローチとして,コードレビューを通して行われたソースコード改善内容を目視で分析し,パターン化することで,頻繁に行われるコード改善内容を明らかにする. OpenStackプロジェクトを対象に,コードレビューを通して行われる変更を分析した結果,パッチ開発者がツールを利用することで検証者を介さず実施可能であったコード改善は13.4\%に留まっていることを確認した. また,頻繁に実施されるソースコードの改善パターンを抽出する手法を提案した. 本手法を利用することにより,パターンに基づくソースコード改善を自動的に実施可能であり,レビューコストの削減に貢献する