Modern Code Reviews in Open-source Projects: Which Problems Do They Fix?

TitleModern Code Reviews in Open-source Projects: Which Problems Do They Fix?
Publication TypeConference Paper
Year of Publication2014
AuthorsBeller, M, Bacchelli, A, Zaidman, A, Juergens, E
Secondary TitleProceedings of the 11th Working Conference on Mining Software Repositories
Pagination202–211
PublisherACM
Place PublishedNew York, NY, USA
ISBN Number978-1-4503-2863-0
Keywordscode review, defects, open source software
Abstract

Code review is the manual assessment of source code by humans, mainly intended to identify defects and quality problems. Modern Code Review (MCR), a lightweight variant of the code inspections investigated since the 1970s, prevails today both in industry and open-source software (OSS) systems. The objective of this paper is to increase our understanding of the practical benefits that the MCR process produces on reviewed source code. To that end, we empirically explore the problems fixed through MCR in OSS systems. We manually classified over 1,400 changes taking place in reviewed code from two OSS projects into a validated categorization scheme. Surprisingly, results show that the types of changes due to the MCR process in OSS are strikingly similar to those in the industry and academic systems from literature, featuring the similar 75:25 ratio of maintainability-related to functional problems. We also reveal that 7–35% of review comments are discarded and that 10–22% of the changes are not triggered by an explicit review comment. Patterns emerged in the review data; we investigated them revealing the technical factors that influence the number of changes due to the MCR process. We found that bug-fixing tasks lead to fewer changes and tasks with more altered files and a higher code churn have more changes. Contrary to intuition, the person of the reviewer had no impact on the number of changes.

URLhttp://doi.acm.org/10.1145/2597073.2597082
DOI10.1145/2597073.2597082
Full Text
AttachmentSize
PDF icon beller.pdf370.45 KB
Taxonomy upgrade extras: