Pull Request Decisions Explained: An Empirical Overview

Xunhui Zhang, Yue Yu*, Gousios Georgios, Ayushi Rastogi

*Corresponding author for this work

Research output: Contribution to journalArticleScientificpeer-review

Abstract

Context: The pull-based development model is widely used in open source projects, leading to the emergence of trends in distributed software development. One aspect that has garnered significant attention concerning pull request decisions is the identification of explanatory factors. Objective: This study builds on a decade of research on pull request decisions and provides further insights. We empirically investigate how factors influence pull request decisions and the scenarios that change the influence of such factors. Method: We identify factors influencing pull request decisions on GitHub through a systematic literature review and infer them by mining archival data. We collect a total of 3,347,937 pull requests with 95 features from 11,230 diverse projects on GitHub. Using these data, we explore the relations among the factors and build mixed effects logistic regression models to empirically explain pull request decisions. Results: Our study shows that a small number of factors explain pull request decisions, with that concerning whether the integrator is the same as or different from the submitter being the most important factor. We also note that the influence of factors on pull request decisions change with a change in context; e.g., the area hotness of pull request is important only in the early stage of project development, however it becomes unimportant for pull request decisions as projects become mature.

Original languageEnglish
Article number9749844
JournalIEEE Transactions on Software Engineering
DOIs
Publication statusAccepted/In press - 2022

Keywords

  • pull-based development
  • pull request decision
  • distributed software development
  • GitHub

Fingerprint

Dive into the research topics of 'Pull Request Decisions Explained: An Empirical Overview'. Together they form a unique fingerprint.

Cite this