中文

哪些拉取请求会被接受及其原因?对热门NPM包的研究

软件工程 2020-03-04 v1

摘要

背景:拉取请求(PR)集成者常面临多个并发PR带来的挑战,因此评估哪些PR将被接受的能力有助于他们平衡工作负载。PR创建者若能了解其PR的某些特征是否会提高被接受的概率也将获益。目的:我们利用代表作者、PR及所提交PR所属项目属性的50个预测变量,使用随机森林模型对PR在创建后一个月内被接受的概率进行建模。方法:分析了来自4218个热门NPM包的483,988个PR,并筛选出14个预测变量的子集,足以使调优后的随机森林模型达到高准确率。结果:预测PR接受的AUC-ROC值达到0.95。排除提交后发生变化的PR属性后,模型AUC-ROC值为0.89。我们通过使用NPM包\textit{bootstrap}的历史数据训练模型并预测未来提交的PR是否被接受,在实际场景中检验了模型的效用。使用全部14个预测变量得到AUC-ROC值0.94,排除创建后变化的PR属性则为0.77。结论:PR集成者可使用我们的模型对开放PR的质量进行高精度评估,PR创建者可通过了解哪些PR特征从集成者角度看可能不受欢迎而受益于该模型。该模型可作为一个工具实现,我们计划将其作为未来工作。

关键词

引用

@article{arxiv.2003.01153,
  title  = {Which Pull Requests Get Accepted and Why? A study of popular NPM Packages},
  author = {Tapajit Dey and Audris Mockus},
  journal= {arXiv preprint arXiv:2003.01153},
  year   = {2020}
}