基于 NPM 生态系统中参与模式的贡献与需求努力模式及用户分类
软件工程
2019-07-16 v1 计算机与社会
摘要
背景:开源需要志愿和商用开发者(用户)的参与,以交付功能完善且高质量的组件。开发者既以补丁形式贡献努力,又向组件维护者需求努力以解决针对该组件报告的问题。目的:识别并刻画开源供应链中贡献与需求努力的模式,并研究这些模式是否及如何随开发者活动变化;识别不同开发者群体;并基于其参与模式预测开发者的公司归属。方法:获取并分析了为 4433 个每月下载量超过 10,000 且具完整(公开)提交活动数据的 NPM 包创建的 1,376,946 个 issue 和 pull-request,以及 272,142 名 issue 创建者的数据,并识别了对 NPM 包的依赖。使用模糊 c 均值聚类算法基于用户的努力贡献与需求模式找出群体,并使用随机森林作为预测建模技术识别其公司归属。结果:用户主要向直接依赖的包贡献并需求努力,仅有极小部分贡献和需求流向传递依赖。显著部分的需求流向用户各自供应链(基于公开可见的版本控制数据构建)之外的包。基于努力需求与努力贡献模式分别观察到三组和两组不同的用户群体。用于识别用户公司归属的随机森林模型给出的 AUC-ROC 值为 0.68。结论:我们的结果对 NPM 生态系统及其用户供应链不同部分的努力需求与供给提供了新见解,并提示需要进一步向上游提高可见性。
引用
@article{arxiv.1907.06538,
title = {Patterns of Effort Contribution and Demand and User Classification based on Participation Patterns in NPM Ecosystem},
author = {Tapajit Dey and Yuxing Ma and Audris Mockus},
journal= {arXiv preprint arXiv:1907.06538},
year = {2019}
}
备注
10 pages, 5 Tables, 2 Figures, Accepted in The 15th International Conference on Predictive Models and Data Analytics in Software Engineering 2019