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

Effect of Technical and Social Factors on Pull Request Quality for the NPM Ecosystem
复制标题

DOI:
10.1145/3382494.3410685
复制
发表时间:
2020-07
期刊:
Proceedings of the 14th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)
影响因子:
--
通讯作者:
Tapajit Dey;A. Mockus
Tapajit Dey;A. Mockus
中科院分区:
其他
文献类型:
--
作者:
Tapajit Dey;A. Mockus

文献摘要

相似文献

背景资料:基于拉取请求(PR)的开发是社交编码平台的规范,需要评估来自开源生态系统的开发人员(通常是不熟悉的)的贡献,相反,向不熟悉的维护人员提交项目的贡献。以前的研究表明,接受或拒绝PR的决定可能会受到一组不同的技术和社会因素的影响,但往往集中在相对较少的项目,不考虑生态系统范围内的措施,或可能的非单调关系的预测和PR接受概率。目的:我们的目标是揭示这一重要的决策过程,通过测试的措施显着影响PR接受的概率在一个大的生态系统的一个显着的部分,排名他们在预测PR接受的相对重要性,并确定形状的功能,映射每个预测PR接受。方法:我们提出了七个假设,技术和社会因素可能会影响公关接受,并创建了17个措施,根据他们。我们的数据集由来自3349个流行NPM包的470,925个PR和79,128个创建这些PR的GitHub用户组成。我们测试了哪些措施会影响公关接受度,并根据其在预测模型中的重要性对重要措施进行了排名。结果:我们的预测模型的AUC为0.94,17项措施中有15项被发现是重要的,包括5项新的生态系统范围的措施。描述提交到存储库的PR数量的度量以及其中被接受的比例,以及PR审查阶段的信号是最重要的。我们还发现,只有四个预测PR接受概率的线性影响,而其他人表现出更复杂的反应。结论:我们的研究结果应该有助于公关创作者,集成商,以及工具设计师专注于影响公关接受的重要因素。
Background: 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. Aim: 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. Method: 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. Results: 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. Conclusion: Our findings should be helpful for PR creators, integrators, as well as tool designers to focus on the important factors affecting PR acceptance.