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.
Fri 15 OctDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
14:20 - 15:20
|Characterizing and Predicting Good First Issues|
Yuekai Huang Institute of Software, Chinese Academy of Sciences, Junjie Wang Institute of Software at Chinese Academy of Sciences, Song Wang York University, Zhe Liu Institute of Software at Chinese Academy of Sciences, Dandan Wang Institute of Software, Chinese Academy of Sciences, Qing Wang Institute of Software at Chinese Academy of SciencesPre-print
|An Empirical Study on Refactoring-Inducing Pull Requests|
Flavia Coelho Federal University of Campina Grande, Nikolaos Tsantalis Concordia University, Tiago Massoni Federal University of Campina Grande, Everton L. G. Alves Federal University of Campina GrandePre-print Media Attached
|Promises and Perils of Inferring Personality on GitHub|
Frenk van Mil Delft University of Technology, Ayushi Rastogi University of Groningen, The Netherlands, Andy Zaidman Delft University of TechnologyPre-print Media Attached
|An Exploratory Study on Dead Methods in Open-source Java Desktop Applications|