モダンコードレビュー(modern code review、MCR)とは、開発者同士が互いのコード変更を、それがコードベースに 統合される前に検査する協働的なプロセスである。モダンコードレビューのロードマップ:課題と機会 はこれを、 GitHub、GitLab、Bitbucket、Gerrit、Crucible、Review Board といったコードレビューツールの上で常に実施される、 軽量でツールに支援されたソフトウェア品質保証活動として説明している。また、隣に座った開発者同士による非公式な レビューから、拠点やタイムゾーンをまたいだリモートでのレビューを含む、より形式的なプロセスへと発展してきたと 述べている。
用法
同じサーベイは、組織ごとのプロセスやツールによって異なることを断りつつ、一般的なワークフローを示している。 開発者が変更を作成して提出する。1 人以上のレビュアーが割り当てられる。レビュアーが品質、機能、設計について コメントする。開発者が変更を修正し、コメントに返信する。レビュアーが承認するか、さらなる修正を求めるか、 エスカレーションする。そして開発者がメインのコードベースにマージする。同サーベイは MCR を、ソフトウェアの品質と 長期的な保守性を確保するために産業界とオープンソースのエコシステムで広く採用されているものとして示し、 レビューされていないコミットはレビューされたコミットに比べて欠陥を持ち込む可能性が 2 倍高いという知見を 引用している。機能上のバグ、セキュリティ脆弱性、スタイル違反の発見にとどまらず、MCR はそこでは知識移転、 専門知識の共有、開発手法の暗黙的な標準化の経路としても説明されている。こうした便益に対して、同サーベイは そのコストも挙げている。複雑なロジックを人手で検査することは認知的な負荷が高く、リリースを遅らせるワーク フロー上のボトルネックを生みうるため、MCR は高コストでリソースを多く要する活動になっている。
同サーベイでは MCR の研究が、特定のレビュータスクを自動化・最適化する改善技術——コード変更の分析、レビュアーの 推薦、レビューコメントの生成と分析、統合的な自動化フレームワーク——と、レビューの品質保証効果、プロセスの 効率、ヒューマンファクター、人間と AI の協働への移行を扱う理解のための研究とに分けられている。その説明に よれば、大規模言語モデルは MCR を受動的なツール支援から人間と AI の潜在的なパートナーシップへと移行させつつ あり、それと並んで、検証のオーバーヘッドの増大、集団的な説明責任の弱体化、若手開発者のスキル低下といった リスクも伴っている。