Department of Computer Engineering
Analyzing the Impact of Process Smells In Code Review
(Supervisor: Asst. Prof. Eray Tüzün )
Computer Engineering Department
Abstract: Code review is a valuable modern software development practice for identifying potential problems in changesets and improving source code quality in software projects. In addition, code review also improves knowledge transfer and code ownership and reduces the likelihood of future bugs. Developers adhere to specific rules and best practices in an ideal code review process. Deviations from these best practices can potentially lead to unintended consequences. These deviations, also known as code review process smells, affect different parts of the code review process and its outcomes. This research empirically analyzes the correlations between process smells, and the impact of code review process smells (shared knowledge, reopened issues, time to complete review, abandoned pull requests (PR), number or review comments, and contribution of large changeset reviewers). The relationship between smells and their impact is correlation-based, but a causal relationship is not guaranteed because proving such relationships is not straightforward. To quantitatively analyze the impact of smells in the code review process, we investigated 244,903 PRs from four OSS projects from Gerrit (Qt, Eclipse, Wireshark, and LibreOffice). We provide quantitative results on these projects showing the negative impact and correlations of smells in the code review process. As a result, we discovered that the existence of a committers' side smell in a PR could lead to the occurrence of reviewers' side smells in the same PR. We also observed that reviewers assigned repeatedly by the same author to review the PR have a heavier review workload. Furthermore, the ping pong reviews and large changesets are most likely to increase the bug reopen ratio in all four projects. In addition, we noticed that the time to complete review of a smelly PR is likely to be more than time to complete review of non-smelly PR. Also, smelly PRs have fewer review comments than non-smelly PRs. Moreover, sleeping review smell is more likely to cause the related PR to get abandoned, but ping pong reviews, large changesets, and missing context smells have also abandoned pull requests impact.
DATE: 4 July 2022, Monday @ 13:00 Zoom