Quantifying Continuous Code Reviews

Moritz Beller · Figshare · 2014

Code reviews have become one of the most widely agreed-on best practices for software quality. In a code review, a human reviewer manually assesses program code and denotes quality problems as review findings. With the availability of free review support tools, a number of open-source projects have started to use continuous, mandatory code reviews. Even so, little empirical research has been conducted to confirm the assumed benefits of such light-weight review processes. Open questions about continuous reviews include: Which defects do reviews solve in practice? Is their focus on functional, or non-functional problems? What is the motivation for changes made in the review process? How can we model the review process to gain a better understanding about its influences and out- comes? In this thesis, we answer the questions with case studies on two open-source systems which employ continuous code reviews: We find that most changes during reviews are code comments and identifier renamings. At a ratio of 75:25, the majority of changes is non-functional. Most changes come from a review suggestion, and 10% of changes are made without an explicit request from the reviewer. We design and propose a regression model of the influences on reviews. The more impact on the source code an issue had, the more defects need to be fixed during its review. Bug-fixing issues have fewer defects than issues which implement new functionality. Surprisingly, the number of changes does not depend on who was the reviewer.

Read the paper · More papers on PaperTik