コードレビューにおけるレビュワー間の協調行動の分析

北川愼人 (1451042)


コードレビューは,ソフトウェア開発において作成されたパッチを複数のレビュワーが査読することにより,パッチの中にバグや不具合が含まれているかどうかを確認するプロセスである.近年のコードレビューでは,パッチに含まれるバグや不具合の発見だけでなく,レビュワー間での情報共有を行うことなども目的とされている.しかし,近年のコードレビューにおけるレビュワーの活動の実態を調査した結果,ただ1人のレビュワーのみがレビューを行う状況や,レビュワー間で最終的な合意形成がなされていないにもかかわらず,途中でレビューをやめてしまうレビュワーが存在することが明らかとなった.そこで,コードレビューを行う状況をゲームモデル化し,レビュワー間の協調行動を分析した.その結果,レビュワーにとって,他のレビュワーがレビューを行うならば自身はレビューを行わないことが合理的であること,レビューを行うことによる利得が高いほど他のレビュワーと協力してレビューを行うことが合理的であることを理論的に明らかにした.