Simplifying The Search Of Npm Packages

INFORMATION AND SOFTWARE TECHNOLOGY(2020)

引用 0|浏览1
暂无评分
摘要
Context: Code reuse, generally done through software packages, allows developers to reduce time-to-market and improve code quality. The npm ecosystem is a Node.js package management system which contains more than 700 K Node.js packages and to help developers find high-quality packages that meet their needs, npms developed a search engine to rank Node.js packages in terms of quality, popularity, and maintenance. However, the current ranking mechanism for npms tends to be arbitrary and contains many different equations, which increases complexity and computation.Objective: The goal of this paper is to empirically improve the efficiency of npms by simplifying the used components without impacting the current npms package ranks.Method: We use feature selection methods with the aim of simplifying npms' equations. We remove the features that do not have a significant effect on the package's rank. Then, we study the impact of the simplified npms on the packages' rank, the amount of resources saved compared to the original npms, and the performance of the simplified npms as npm evolves.Results: Our findings indicate that (1) 31% of the unique variables of npms' equation can be removed without breaking the original packages' ranks; (2) The simplified npms, on average, preserves the overlapping of the packages by 98% and the ranking of those packages by 97%; (3) Using the simplified npms saves 10% of packages scoring time and more than 1.47 million network requests on each scoring run; (4) As the npm evolve through a period of 12 months, the simplified-npms was able to achieve results similar to the original npms.Conclusion: Our results show that the simplified npms preserves the original ranks of packages and is more efficient than the original npms. We believe that using our approach, helps the npms community speed up the scoring process by saving computational resources and time.
更多
查看译文
关键词
JavaScript,NPM,Node.js,NPMS,Code reuse,Empirical studies
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要