Effect of Technical and Social Factors on Pull Request Quality for the NPM Ecosystem

07/08/2020
by   Tapajit Dey, et al.
0

Pull request (PR) based development, which is a norm for the social coding platforms, entails the challenge of evaluating the contributions of, often unfamiliar, developers from across the open source ecosystem and, conversely, submitting a contribution to a project with unfamiliar maintainers. Previous studies suggest that the decision of accepting or rejecting a PR may be influenced by a diverging set of technical and social factors, but often focus on relatively few projects, do not consider ecosystem-wide measures, or the possible non-monotonic relationships between the predictors and PR acceptance probability. We aim to shed light on this important decision making process by testing which measures significantly affect the probability of PR acceptance on a significant fraction of a large ecosystem, rank them by their relative importance in predicting PR acceptance, and determine the shape of the functions that map each predictor to PR acceptance. We proposed seven hypotheses regarding which technical and social factors might affect PR acceptance and created 17 measures based on them. Our dataset consisted of 470,925 PRs from 3349 popular NPM packages and 79,128 GitHub users who created those. We tested which of the measures affect PR acceptance and ranked the significant measures by their importance in a predictive model. Our predictive model had and AUC of 0.94, and 15 of the 17 measures were found to matter, including five novel ecosystem-wide measures. Measures describing the number of PRs submitted to a repository and what fraction of those get accepted, and signals about the PR review phase were most significant. We also discovered that only four predictors have a linear influence on the PR acceptance probability while others showed a more complicated response.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/25/2019

Does Code Quality Affect Pull Request Acceptance? An empirical study

Background. Pull requests are a common practice for contributing and rev...
research
03/02/2020

Which Pull Requests Get Accepted and Why? A study of popular NPM Packages

Background: Pull Request (PR) Integrators often face challenges in terms...
research
12/15/2018

On the impact of pull request decisions on future contributions

The pull-based development process has become prevalent on platforms suc...
research
08/08/2017

An Empirical Comparison of Developer Retention in the RubyGems and npm Software Ecosystems

Software ecosystems can be viewed as socio-technical networks consisting...
research
08/23/2021

Pull Request Latency Explained: An Empirical Overview

Pull request latency evaluation is an essential application of effort ev...
research
05/31/2023

Trusting code in the wild: A social network-based centrality rating for developers in the Rust ecosystem

As modern software extensively uses open source packages, developers reg...
research
05/19/2020

Do Code Review Measures Explain the Incidence of Post-Release Defects?

Aim: In contrast to studies of defects found during code review, we aim ...

Please sign up or login with your details

Forgot password? Click here to reset