arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2201.08452cs.SE
收藏

npm-filter:自动从npm包中挖掘动态信息

npm-filter: Automating the mining of dynamic information from npm packages

Ellen Arteca, Alexi Turcotte

摘要:

代码存储库的静态属性,例如,代码行、依赖项、依赖关系等可以容易地从代码托管平台(诸如GitHub)和包管理系统(诸如用于JavaScript的npm)中抓取;尽管同样重要,但与程序的动态属性相关的信息,例如,测试套件中通过或失败的测试的数量是不容易获得的。轻松收集这种动态信息的能力对进行语料库分析的研究人员非常有用,因为他们可以根据只能通过运行它们来观察的属性来区分项目。在本文中,我们介绍了npm-filter,一个自动化工具,可以下载,安装,构建,测试和运行自定义用户脚本的源代码的JavaScript项目上npm,最流行的JavaScript包管理器。我们概述了这个工具,描述了它的实现,并表明,npm过滤器已经在开发多个JavaScript工具的评估套件是有用的。

英文摘要:

The static properties of code repositories, e.g., lines of code, dependents, dependencies, etc. can be readily scraped from code hosting platforms such as GitHub, and from package management systems such as npm for JavaScript; Although no less important, information related to the dynamic properties of programs, e.g., number of tests in a test suite that pass or fail, is less readily available. The ability to easily collect this dynamic information could be immensely useful to researchers conducting corpus analyses, as they could differentiate projects based on properties that can only be observed by running them. In this paper, we present npm-filter, an automated tool that can download, install, build, test, and run custom user scripts over the source code of JavaScript projects available on npm, the most popular JavaScript package manager. We outline this tool, describe its implementation, and show that npm-filter has already been useful in developing evaluation suites for multiple JavaScript tools.

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

↑