Modern Code Review

Reviewed by Greg Wilson / 2021-08-16
Keywords: Code Review

Michael Unterkalmsteiner kindly pointed me at Modern Code Reviews, which presents nine evidence-based briefings on code review summarizing 146 research papers from 2005--18. These reviews are also archived at Zenodo and cover:

  1. The impact of modern code reviews on product quality
  2. The impact of modern code reviews on human aspects of software development
  3. The impact of software development processes, patch characteristics, and tools on modern code reviews
  4. Modern code reviews process properties
  5. Modern code review performance and human factors
  6. Modern code reviews and organizational factors
  7. Support systems for modern code reviews related to the usefulness, sentiment, order, and monitoring of modern code reviews
  8. Support systems related to the understanding of code changes and managing code reviews
  9. Support systems related to recommendation of reviewers, automation of reviews, and code reviews on touch enabled devices

Each briefing is just a couple of pages long, and each claim is presented on its own and with commentary like this:

When code reviews should be performed?

Research shows that code reviews in large open source software projects are done frequently and in short intervals. The results show that large and formal organizations might benefit from more frequent reviews and having invested reviewers (produced by overlap in developers' work).

What we think: Evidence from large open-source projects shows that code reviews are done early and in short intervals. Code reviews should begin as soon as the change is submitted in order to capture the defects early.

Modern Code Reviews is a great resource for practitioners who want a quick, actionable summary of research that directly impacts their work. There are a few other evidence briefings here, though that effort seems to have petered out. If more sites like these existed, this one wouldn't have to; I'd be very grateful for pointers to similar summaries.