The Node.js Package Manager (i.e., npm) archive repository serves as a critical part of the JavaScript community and helps support one of the largest developer ecosystems in the world. However, as a developer, selecting an appropriate npm package to use or contribute to can be difficult. To understand what features users and contributors consider important when searching for a good npm package, we conduct a survey asking Node.js developers to evaluate the importance of 30 features derived from existing work, including GitHub activity, software usability, and properties of the repository and documentation. We identify that both user and contributor perspectives share similar views on which features they use to assess package quality. We then extract the 30 features from 104,364 npm packages and analyse the correlations between them, including three software features that measure package ``runnability"; ability to install, build, and execute a unit test. We identify which features are negatively correlated with runnability-related features and find that predicting the runnability of packages is viable. Our study lays the groundwork for future work on understanding how users and contributors select appropriate npm packages.


翻译:诺德. js 套件管理器( 即 npm) 归档存储器是 JavaScript 社区的关键部分,有助于支持世界上最大的开发者生态系统之一。 然而, 作为开发者, 选择合适的 npm 套件使用或贡献可能很困难 。 要了解用户和贡献者在搜索良好的 npm 套件时认为哪些特征很重要, 我们进行一次调查, 请诺德. js 开发者评估现有工作产生的30个特征的重要性, 包括 GitHub 活动、 软件可用性以及存储器和文件的属性。 我们发现, 用户和贡献者对于它们用来评估软件包质量的特征有着相似的观点。 我们随后从 104, 364 npm 套件中提取了30个特征, 分析它们之间的相互关系, 包括测量软件包“ 可操作性” 的三个软件特性; 安装、 建立和 执行单位测试的能力。 我们确定哪些特征与可操作性相关特性有负关联, 并发现预测软件可操作性是可行的。 我们的研究为未来工作奠定了基础, 如何理解用户和贡献者选择 npm 。

0
下载
关闭预览

相关内容

Node.js 是一个在浏览器外部创建互联网应用程序的框架,它基于 Google 开发的 V8 JavaScript 引擎,轻量,高效,事件驱动,非阻塞I/O,特别适合运行于跨分布式设备的实时数据处理程序。
【硬核书】Linux核心编程|Linux Kernel Programming,741页pdf
专知会员服务
76+阅读 · 2021年3月26日
【经典书】Linux UNIX系统编程手册,1554页pdf
专知会员服务
44+阅读 · 2021年2月20日
专知会员服务
17+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
76+阅读 · 2020年7月26日
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
56+阅读 · 2020年6月26日
强化学习最新教程,17页pdf
专知会员服务
167+阅读 · 2019年10月11日
2019年机器学习框架回顾
专知会员服务
35+阅读 · 2019年10月11日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
MIT新书《强化学习与最优控制》
专知会员服务
270+阅读 · 2019年10月9日
分布式并行架构Ray介绍
CreateAMind
9+阅读 · 2019年8月9日
计算机 | 入门级EI会议ICVRIS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年6月24日
使用Vue和GraphQL构建一个CRUD APP
前端之巅
5+阅读 · 2019年6月21日
CCF推荐 | 国际会议信息10条
Call4Papers
7+阅读 · 2019年5月27日
CCF A类 | 顶级会议RTSS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年4月17日
IEEE | DSC 2019诚邀稿件 (EI检索)
Call4Papers
10+阅读 · 2019年2月25日
Windows 提权-快速查找 Exp
黑白之道
3+阅读 · 2019年1月23日
Ray RLlib: Scalable 降龙十八掌
CreateAMind
8+阅读 · 2018年12月28日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
Arxiv
4+阅读 · 2018年1月15日
Arxiv
5+阅读 · 2016年1月15日
VIP会员
相关VIP内容
【硬核书】Linux核心编程|Linux Kernel Programming,741页pdf
专知会员服务
76+阅读 · 2021年3月26日
【经典书】Linux UNIX系统编程手册,1554页pdf
专知会员服务
44+阅读 · 2021年2月20日
专知会员服务
17+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
76+阅读 · 2020年7月26日
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
56+阅读 · 2020年6月26日
强化学习最新教程,17页pdf
专知会员服务
167+阅读 · 2019年10月11日
2019年机器学习框架回顾
专知会员服务
35+阅读 · 2019年10月11日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
MIT新书《强化学习与最优控制》
专知会员服务
270+阅读 · 2019年10月9日
相关资讯
分布式并行架构Ray介绍
CreateAMind
9+阅读 · 2019年8月9日
计算机 | 入门级EI会议ICVRIS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年6月24日
使用Vue和GraphQL构建一个CRUD APP
前端之巅
5+阅读 · 2019年6月21日
CCF推荐 | 国际会议信息10条
Call4Papers
7+阅读 · 2019年5月27日
CCF A类 | 顶级会议RTSS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年4月17日
IEEE | DSC 2019诚邀稿件 (EI检索)
Call4Papers
10+阅读 · 2019年2月25日
Windows 提权-快速查找 Exp
黑白之道
3+阅读 · 2019年1月23日
Ray RLlib: Scalable 降龙十八掌
CreateAMind
8+阅读 · 2018年12月28日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
Top
微信扫码咨询专知VIP会员