バージョンアップ時のレビュー時間に影響を与えるソースコードメトリクスの分析

保田裕一朗 (0851124)


ソフトウェアバージョンアップ時のソースコードのレビューでは,単に変更部分を確認するだけではなく,変更先の内容を理解した上で変更による不具合が生じていないかを確認する必要があるため,レビュー時間を変更量や変更率などの単純なメトリクスから見積ることは適切とはいえない.レビュー時間を事前に見積ることができれば,レビュー担当者割当ての最適化をはじめとする様々なレビュー業務の効率化が期待できる.本研究の目的は,バージョンアップ時のレビュー時間を事前に算出することである.そのために,ソースコードの変更内容を示す差分情報に着目し,差分情報の特徴とレビュー時間の関係を明らかにする.まず,レビュー時間の要因となりうる差分情報の特徴を洗い出すために16種類のオープンソースソフトウェアの30個の変更のレビューを行い,その結果,(a)変更の種類,(b)変更先の複雑度,(c)変更量,(d)差分内の複雑度,(e)差分外の参照数の特徴を得た.次に,これらの特徴量が異なる19個の機能変更を30名の被験者にレビューしてもらい,被験者のレビュー時間と差分情報の各特徴との関係を分析した.被験者には,あるソフトウェアのソースコードを理解してもらった上で,そのバージョンアップに伴う19個の機能変更をレビューしてもらい,どのような変更であるのか,変更による欠陥がないかを確認してもらい,その所要時間を回答してもらった.分析の結果,得られた主な知見は次の通りである.(a)機能削除は機能追加に比べてレビュー時間が小さい.(b)変更先の複雑度が高い方がレビュー時間が大きい.レビュー時間との相関係数は,(c)変更量メトリクスの一つである追加・削除行数が0.56,(d)差分内の複雑度メトリクスの一つである演算子数が0.86,(e)差分外の参照数メトリクスの一つである差分外定義メソッド数が0.89であり,変更箇所に含まれる演算子数,変更箇所が参照している外部メソッド数など,変更量よりもレビュー時間に強く影響を与えているメトリクスが存在することが分かった.