arrow
Return

Nudge: Accelerating Overdue Pull Requests toward Completion

delete2023-03-30
delete10
delete
OA
AI
C
Chandra Maddila *
S
Sai Surya Upadrasta
C
Chetan Bansal
N
Nachiappan Nagappan
G
Georgios Gousios
A
Arie van Deursen
DOI:10.1145/3544791delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Pull requests are a key part of the collaborative software development and code review process today. However, pull requests can also slow down the software development process when the reviewer(s) or the author do not actively engage with the pull request. In this work, we design an end-to-end service, Nudge, for accelerating overdue pull requests toward completion by reminding the author or the reviewer(s) to engage with their overdue pull requests. First, we use models based on effort estimation and machine learning to predict the completion time for a given pull request. Second, we use activity detection to filter out pull requests that may be overdue but for which sufficient action is taking place nonetheless. Last, we use actor identification to understand who the blocker of the pull request is and nudge the appropriate actor (author or reviewer(s)). The key novelty of Nudge is that it succeeds in reducing pull request resolution time, while ensuring that developers perceive the notifications sent as useful, at the scale of thousands of repositories. In a randomized trial on 147 repositories in use at Microsoft, Nudge was able to reduce pull request resolution time by 60% for 8,500 pull requests, when compared to overdue pull requests for which Nudge did not send a notification. Furthermore, developers receiving Nudge notifications resolved 73% of these notifications as positive. We observed similar results when scaling up the deployment of Nudge to 8,000 repositories at Microsoft, for which Nudge sent 210,000 notifications during a full year. This demonstrates Nudge's ability to scale to thousands of repositories. Last, our qualitative analysis of a selection of Nudge notifications indicates areas for future research, such as taking dependencies among pull requests and developer availability into account.
Keywords:
Pull-based software development
pull request
merge conflict
distributed software development

Journal

A
ACM Transactions on Software Engineering and Methodology
IF:
6.2
Papers:
1.2K
Citations:
3.4K

Organization

D
Delft University of Technology
Scholars:
2.6W
Papers: 2.5W
Citations: 3.8W
M
Microsoft
Scholars:
3.0K
Papers: 2.7K
Citations: 7
Cited Papers

Cited Papers

Mutator Effects in Escherichia coli Caused by the Expression of Specific Foreign Genes
err2005-07-01
err0
errOAAI
errVanessa Gabrovsky; Mitsuko Lynn Yamamoto; Jeffrey H. Miller
errShare
errSave
Gender differences and bias in open source: pull request acceptance of women versus men
err2017-05-01
err183
errOAAI
errTerrell, Josh; Kofink, Andrew; Middleton, Justin; Rainear, Clarissa; Murphy-Hill, Emerson; Parnin, Chris; Stallings, Jon
errShare
errSave
Optimal Breast Biopsy Decision-Making Based on Mammographic Features and Demographic Factors
err2010-12-01
err0
errOAAI
errJagpreet Chhatwal; Oguzhan Alagoz; Elizabeth S. Burnside
errShare
errSave
Stereoisomerization of the Bornyl Radical during Aliphatic Nucleophilic Substitutions.
err1996-01-01
err0
errOAAI
errKim Daasbjerg; Henning Lund; Carl Erik Olsen; Kim Simonsen; György Liptay; Katrin Trautwein-Fritz; Joseph Stackhouse; Mauro I. Ciglic; Monika Haugg; Nathalie Trabesinger-Rüf; Elmar G. Weinhold
errShare
errSave
Understanding predictive factors for merge conflicts
err2020-05-01
err17
PREAI
errDias, Klissiomara; Borba, Paulo; Barreto, Marcos
errShare
errSave
Local versus Global Lessons for Defect Prediction and Effort Estimation
err2013-06-01
err169
PREAI
errMenzies, Tim; Butcher, Andrew; Cok, David; Marcus, Andrian; Layman, Lucas; Shull, Forrest; Turhan, Burak; Zimmermann, Thomas
errShare
errSave
researcher View more