  Background: Pull-based development has shaped the practice of Modern Code
Review (MCR), in which reviewers can contribute code improvements, such as
refactorings, through comments and commits in Pull Requests (PRs). Past MCR
studies uniformly treat all PRs, regardless of whether they induce refactoring
or not. We define a PR as refactoring-inducing, when refactoring edits are
performed after the initial commit(s), as either a result of discussion among
reviewers or spontaneous actions carried out by the PR developer. Aims: This
mixed study (quantitative and qualitative) explores code reviewing-related
aspects intending to characterize refactoring-inducing PRs. Method: We
hypothesize that refactoring-inducing PRs have distinct characteristics than
non-refactoring-inducing ones and thus deserve special attention and treatment
from researchers, practitioners, and tool builders. To investigate our
hypothesis, we mined a sample of 1,845 Apache's merged PRs from GitHub, mined
refactoring edits in these PRs, and ran a comparative study between
refactoring-inducing and non-refactoring-inducing PRs. We also manually
examined 2,096 review comments and 1,891 detected refactorings from 228
refactoring-inducing PRs. Results: We found 30.2% of refactoring-inducing PRs
in our sample and that they significantly differ from non-refactoring-inducing
ones in terms of number of commits, code churn, number of file changes, number
of review comments, length of discussion, and time to merge. However, we found
no statistical evidence that the number of reviewers is related to
refactoring-inducement. Our qualitative analysis revealed that at least one
refactoring edit was induced by review in 133 (58.3%) of the
refactoring-inducing PRs examined. Conclusions: Our findings suggest directions
for researchers, practitioners, and tool builders to improve practices around
pull-based code review.
