arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2204.04562cs.SE
收藏

精选套餐有哪些特点?npm生态系统案例研究

What are the characteristics of highly-selected packages? A case study on the npm ecosystem

Suhaib Mujahid, Rabe Abdalkareem, Emad Shihab

摘要:

随着软件生态系统的普及,开源组件(称为包)的数量迅速增长。从大量的软件包中识别出高质量和维护良好的软件包是一个基本而重要的问题,因为它对各种应用程序都有好处,例如软件包推荐和软件包搜索。然而,除了在线讨论或非正式文献和访谈之外,没有任何系统和全面的工作侧重于解决这一问题。为了填补这一空白,在本文中,我们进行了混合定性和定量分析,以了解开发人员如何识别和选择相关的开源软件包。特别是,我们首先调查了来自npm生态系统的118名JavaScript开发人员,以定性地了解使包在npm生态系统中被高度选择的因素。调查结果显示,JavaScript开发人员认为,高度选择的软件包有良好的文档记录,在GitHub上获得大量的星星,有大量的下载,并且没有漏洞。然后,我们进行了一个实验,以定量验证开发人员对高选择性软件包的因素的看法。在这项分析中,我们收集和挖掘了2,527个软件包的历史数据,这些软件包分为高选择和非高选择软件包。对于数据集中的每个包,我们收集了定量数据,以呈现开发人员调查中研究的因素。接下来,我们使用回归分析来定量研究哪些研究因素是最重要的。我们的回归分析补充了我们关于精选套餐的调查结果。特别是,结果表明,高选择的软件包往往与下载次数、星级和软件包的自述文件大小相关。

英文摘要:

With the popularity of software ecosystems, the number of open source components (known as packages) has grown rapidly. Identifying high-quality and well-maintained packages from a large pool of packages to depend on is a basic and important problem, as it is beneficial for various applications, such as package recommendation and package search. However, no systematic and comprehensive work focuses on addressing this problem except in online discussions or informal literature and interviews. To fill this gap, in this paper, we conducted a mixed qualitative and quantitative analysis to understand how developers identify and select relevant open source packages. In particular, we started by surveying 118 JavaScript developers from the npm ecosystem to qualitatively understand the factors that make a package to be highly-selected within the npm ecosystem. The survey results showed that JavaScript developers believe that highly-selected packages are well-documented, receive a high number of stars on GitHub, have a large number of downloads, and do not suffer from vulnerabilities. Then, we conducted an experiment to quantitatively validate the developers' perception of the factors that make a highly-selected package. In this analysis, we collected and mined historical data from 2,527 packages divided into highly-selected and not highly-selected packages. For each package in the dataset, we collected quantitative data to present the factors studied in the developers' survey. Next, we used regression analysis to quantitatively investigate which of the studied factors are the most important. Our regression analysis complements our survey results about highly-selected packages. In particular, the results showed that highly-selected packages tend to be correlated by the number of downloads, stars, and how large the package's readme file is.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑