高选用包的特征是什么?以npm生态系统为例的研究
软件工程
2022-04-12 v1
摘要
随着软件生态系统的流行,开源组件(称为包)的数量迅速增长。从大量包中识别高质量且得到良好维护的包作为依赖项,是一个基础且重要的问题,因为它有益于包推荐和包搜索等多种应用。然而,除在线讨论或非正式文献与访谈外,尚无系统且全面的工作致力于解决该问题。为填补此空白,本文中我们进行了定性与定量相结合的混合分析,以理解开发者如何识别并选择相关的开源包。具体而言,我们首先调查了来自npm生态系统的118名JavaScript开发者,定性地了解使一个包在npm生态系统中被高度选中的因素。调查结果显示,JavaScript开发者认为高选中包具有完善的文档、在GitHub上获得大量star、拥有大量下载量且无漏洞。随后,我们进行了实验,定量验证开发者对高选中包因素的认知。在该分析中,我们收集并挖掘了分为高选中与非高选中两类的2527个包的历史数据。对于数据集中的每个包,我们收集了定量数据以呈现开发者调查中研究的因素。接着,我们使用回归分析定量探究所研究因素中哪些最为重要。我们的回归分析补充了关于高选中包的 survey 结果。特别是,结果表明高选中包往往与下载量、star数以及包的readme文件大小相关。
引用
@article{arxiv.2204.04562,
title = {What are the characteristics of highly-selected packages? A case study on the npm ecosystem},
author = {Suhaib Mujahid and Rabe Abdalkareem and Emad Shihab},
journal= {arXiv preprint arXiv:2204.04562},
year = {2022}
}
备注
Submitted to the Journal of Systems & Software