跳到主要内容
10.1145/3611643.3613094acm会议文章/章节视图摘要出版物页面fse公司会议记录会议集合
研究论文
开放式访问

npm-follower:跟踪npm生态系统的完整数据集

出版:2023年11月30日出版历史

摘要

软件开发人员通常依赖大型依赖网络来构建应用程序。例如,NPM包存储库包含300多万个包,每周提供数百亿次下载。了解包、依赖项和已发布代码的结构和性质需要数据集,这些数据集可以让研究人员轻松访问元数据和包的代码。然而,以前关于NPM数据集构建的工作通常有两个限制:1)只删除元数据,2)无法删除从NPM中删除的包或版本。2022年7月至2023年5月,超过330000个版本的软件包从NPM中删除。这些数据对研究人员来说至关重要,因为它通常涉及安全和恶意软件的重要问题。我们提出了npm-follower,这是一种数据集和爬行体系结构,它在发布时存档所有包和版本的元数据和代码,从而能够保留随后删除的数据。该数据集目前包括超过3500万个版本的软件包,每月增长约100万个版本。该数据集旨在方便研究人员回答涉及元数据或程序分析的问题。代码和数据集都可以在以下位置获得:https://dependencies.science(依赖性科学)

工具书类

  1. 互联网档案。2023.回送机。https://web.archive.org谷歌学者谷歌学者
  2. Szele Balint。2009年,小文件问题。https://blog.cloudera.com/the-small-files-问题/谷歌学者谷歌学者
  3. Sruthi Bandhakavi、Nandit Tiku、Wyatt Pittman、Samuel T.King、P.Madhusudan和Marianne Winslett。2011.使用VEX检查浏览器扩展的安全漏洞。Commun公司。ACM,54,9(2011),9月91–99日。编号:0001-0782https://doi.org/10.1145/1995376.1995398谷歌学者谷歌学者数字图书馆数字图书馆
  4. 佩蒂亚·布奇科娃、约阿金·希·欣内尔斯科夫、卡斯珀·奥尔森和罗尔夫·赫尔赫·普菲弗。2022.DaSEA:软件生态系统分析的数据集。第19届国际采矿软件库会议论文集(MSR’22)。计算机械协会,美国纽约州纽约市388–392。编号:9781450393034https://doi.org/10.1145/3524842.3528004谷歌学者谷歌学者数字图书馆数字图书馆
  5. Bodin Chinthanet、Raula Gaikovina Kula、Shane McIntosh、Takashi Ishio、Akinori Ihara和Kenichi Matsumoto。2021.npm漏洞修复的发布、采用和传播滞后。经验软件工程,26,3(2021),3月30日,47。发行编号:1573-7616https://doi.org/10.1007/s10664-021-09951-x谷歌学者谷歌学者数字图书馆数字图书馆
  6. 埃里克·德比尔(Erik DeBill),2023年。模块计数。http://www.modulecounts.com谷歌学者谷歌学者
  7. 亚历山大·迪肯(Alexandre Decan)、汤姆·门斯(Tom Mens)和埃列尼·康斯坦蒂诺(Eleni Constantinou)。2018年,《关于Npm包依赖网络中安全漏洞的影响》,第15届挖掘软件库国际会议论文集(MSR’18)。美国纽约州纽约市计算机协会181–191。编号:9781450357166https://doi.org/10.1145/3196398.3196401谷歌学者谷歌学者数字图书馆数字图书馆
  8. Asger Feldthaus、Max Schäfer、Manu Sridharan、Julian Dolby和Frank Tip。2013.高效构建JavaScript IDE服务的近似调用图。2013年,第35届国际软件工程会议(ICSE)。752–761. https://doi.org/10.109/ICSE.2013.6606621谷歌学者谷歌学者交叉引用交叉引用
  9. Apache软件基金会。2023.阿帕奇Hadoop。https://hadoop.apache.org谷歌学者谷歌学者
  10. Jesus M.Gonzalez-Barahona、Paul Sherwood、Gregorio Robles和Daniel Izquierdo。2017.软件编译中的技术滞后:衡量软件部署的过时程度。《开源系统:走向稳健实践》,Federico Balaguer、Roberto Di Cosmo、Alejandra Garrido、Fabio Kon、Gregorio Robles和Stefano Zacchiroli(编辑)。施普林格国际出版公司,Cham。182–192. 国际标准编号:978-3-319-57735-7https://doi.org/10.1007/978-3-319-57735-7_17谷歌学者谷歌学者交叉引用交叉引用
  11. Georgios Gousios和Diomidis Spinellis。2012年,GHTorrent:Github的消防水龙带数据。2012年IEEE第九届挖掘软件库工作会议(MSR)。12–21. https://doi.org/10.109/MSR.2012.6224294谷歌学者谷歌学者交叉引用交叉引用
  12. Salvatore Guanieri、Marco Pistoia、Omer Tripp、Julian Dolby、Stephen Teilhet和Ryan Berg,2011年。从易受攻击的JavaScript中保存万维网。2011年软件测试与分析国际研讨会(ISSTA’11)论文集。美国纽约计算机械协会177–187。编号:9781450305624https://doi.org/10.1145/2001420.2001442谷歌学者谷歌学者数字图书馆数字图书馆
  13. 软件遗产。2023.软件遗产。https://www.softwareheritage.org谷歌学者谷歌学者
  14. David Kavaler、Asher Trockman、Bogdan Vasilescu和Vladimir Filkov。2019.工具选择至关重要:GitHub项目中的JavaScript质量保证工具和使用结果。2019年IEEE/ACM第41届国际软件工程会议(ICSE)。476–487. https://doi.org/10.109/ICSE.2019.00060谷歌学者谷歌学者数字图书馆数字图书馆
  15. 丹尼斯·科切科夫(Denis Kocetkov)、雷蒙德·李(Raymond Li)、卢布娜·本·阿拉尔(Loubna Ben Allal)、贾丽(Jia Li),牟成浩(Chenghao Mou)、卡洛斯·穆尼奥斯·费兰迪斯(Carlos Muñoz Ferrandis)、亚辛·杰妮特(Yacine Jernite)、玛格丽特·米切尔(Margaret Mitchell。2022.堆栈:3 TB许可的源代码。https://doi.org/10.48550/arXiv.2211.15533arxiv:2211.15533。谷歌学者谷歌学者交叉引用交叉引用
  16. Raula Gaikovina Kula、Ali Ouni、Daniel M.German和Katsuro Inoue。2017.关于微包的影响:npm JavaScript生态系统的实证研究。https://doi.org/10.48550/ARXIV.1709.04638谷歌学者谷歌学者交叉引用交叉引用
  17. 马玉星、塔帕吉特·戴伊、克里斯·鲍嘉、萨迪卡·阿姆林、马拉特·瓦利耶夫、亚当·图特科、大卫·肯纳德、拉塞尔·扎勒茨基和奥德里斯·莫库斯。2021.代码世界:支持挖掘和分析开源VCS数据的研究工作流。经验软。工程师。,26,2(2021年),3月,42页。发行编号:1382-3256https://doi.org/10.1007/s10664-020-09905-9谷歌学者谷歌学者数字图书馆数字图书馆
  18. 马格努斯·马德森(Magnus Madsen)、本杰明·利夫希茨(Benjamin Livshits)和迈克尔·范宁(Michael Fanning)。2013.框架和库中JavaScript应用程序的实际静态分析。在2013年第九届软件工程基础联合会议(ESEC/FSE 2013)的会议记录中。美国纽约州纽约市计算机机械协会499–509。编号:9781450322379https://doi.org/10.1145/2491411.2491417谷歌学者谷歌学者数字图书馆数字图书馆
  19. Gianluca Mezzetti、Anders Møller和Martin Toldam Torp。2018年,类型回归测试检测Node.js库中的破坏性更改。109 (2018), 7:1–7:24. 国际证券编号:978-3-95977-079-8发行编号:1868-8969https://doi.org/10.4230/LIPIcs.ECOOP.2018.7谷歌学者谷歌学者交叉引用交叉引用
  20. 安德斯·莫勒、本杰明·巴斯列夫·尼尔森和马丁·托尔达姆·托普。2020年。检测受中断库更改影响的JavaScript程序中的位置。程序。ACM计划。Lang.,4,OOPSLA(2020),第187条,11月,25页。https://doi.org/10.1145/3428255谷歌学者谷歌学者数字图书馆数字图书馆
  21. 本杰明·巴斯列夫·尼尔森(Benjamin Barslev Nielsen)、马丁·托尔达姆·托普(Martin Toldam Torp)和安德斯·默勒(Anders Moller)。2021.用于节点安全扫描的模块化调用图构建。Js应用。第30届ACM SIGSOFT国际软件测试与分析研讨会(ISSTA 2021)会议记录。美国纽约州纽约市计算机协会29–41。编号:9781450384599https://doi.org/10.1145/3460319.3464836谷歌学者谷歌学者数字图书馆数字图书馆
  22. 净现值法。semver(1)–npm的语义版本管理器。https://github.com/npm/node-semver网站谷歌学者谷歌学者
  23. NPM和贡献者。2022.包下载计数。https://github.com/npm/registry/blob/1c794110badd54b9d9fb08e7489746b6089c6648/docs/download-counts.md谷歌学者谷歌学者
  24. NPM和贡献者。2023年。注册-免费-免费。https://github.com/npm/registry-follower-tutorial谷歌学者谷歌学者
  25. Marc Ohm、Felix Boes、Christian Bungartz和Michael Meier。2022.关于监控机器学习检测恶意软件包的可行性。第17届可用性、可靠性和安全性国际会议记录(ARES’22)。美国纽约州纽约市计算机协会第127条,共10页。编号:9781450396707https://doi.org/10.1145/3538969.3544415谷歌学者谷歌学者数字图书馆数字图书馆
  26. D.Pinckney、F.Cassano、A.Guha和J.Bell。2023.NPM中语义版本化的大规模分析。2023年,IEEE/ACM第20届国际采矿软件库会议(MSR)。IEEE计算机学会,美国加利福尼亚州洛斯阿拉米托斯,485-497。https://doi.org/10.1109/MSR59073.2023.00073谷歌学者谷歌学者交叉引用交叉引用
  27. 唐纳德·平克尼、费德里科·卡萨诺、阿琼·古哈、乔纳森·贝尔、马西米利亚诺·卡尔波和托德·甘布林。2023.通过Max SMT实现灵活和优化的依赖关系管理。第45届软件工程国际会议论文集(ICSE'23)。IEEE出版社,1418-1429年。国际标准编号:9781665457019https://doi.org/10.109/ICSE48619.2023.00124谷歌学者谷歌学者数字图书馆数字图书馆
  28. Serena Elisa Ponta、Henrik Plate和Antonino Sabetta。2020年。检测、评估和缓解开源依赖性中的漏洞。经验软件工程,25,5(2020),3175-3215年9月1日。发行编号:1573-7616https://doi.org/10.1007/s10664-020-09830-x谷歌学者谷歌学者数字图书馆数字图书馆
  29. S.Raemaekers、A.van Deursen和J.Visser。2014.语义版本化与破坏性更改:Maven知识库研究。2014年,IEEE第14届国际源代码分析与处理工作会议(SCAM)。IEEE计算机学会,美国加利福尼亚州洛斯阿拉米托斯,215–224。https://doi.org/10.109/SCAM.2014.30谷歌学者谷歌学者数字图书馆数字图书馆
  30. Gregor Richards、Sylvain Lebresne、Brian Burg和Jan Vitek。2010年,JavaScript程序动态行为分析。第31届ACM SIGPLAN编程语言设计与实现会议记录(PLDI’10)。美国纽约州纽约市计算机协会1–12。编号:9781450300193https://doi.org/10.1145/1806596.1806598谷歌学者谷歌学者数字图书馆数字图书馆
  31. SchedMD和贡献者。2023.Slurm工作量管理器-文档。https://slurm.schedmd.com谷歌学者谷歌学者
  32. Adriana Sejfia和Max Schäfer。2022.恶意Npm包的实用自动检测。第44届国际软件工程会议(ICSE’22)论文集。计算机协会,1681-1692年。编号:9781450392211https://doi.org/10.1145/3510003.3510104谷歌学者谷歌学者数字图书馆数字图书馆
  33. 克里斯蒂安·阿莱克山德鲁·斯塔伊库和迈克尔·普拉德尔。2018.冻结Web:基于Javascript的Web服务器中ReDoS漏洞的研究。第27届USENIX安全研讨会(SEC’18)会议记录。USENIX协会,美国361–376。国际标准编号:9781931971461谷歌学者谷歌学者
  34. PostgreSQL全球开发小组。2023.PostgreSQL:世界上最先进的开源关系数据库。https://www.postgresql.org谷歌学者谷歌学者
  35. Inc Tidelift公司。2023.图书馆.io——开源发现服务。https://librarys.io谷歌学者谷歌学者
  36. 克里斯汀·费约拉·托马斯多蒂尔(Kristín Fjóla Tómasdóttir)、毛里西奥·安尼切(Maurício Aniche)和阿里·范·德森(Arie Van Deursen)。2020年,JavaScript Linters在实践中的采用:ESLint的案例研究。IEEE软件工程学报,46,8(2020),863–891。https://doi.org/10.109/TSE.2018.2871058谷歌学者谷歌学者交叉引用交叉引用
  37. 埃里克·维特恩(Erik Wittern)、菲利普·苏特(Philippe Suter)和施里拉姆·拉贾戈帕兰(Shriram Rajagopalan)。2016年,JavaScript包生态系统动态概览。第13届国际采矿软件库会议记录(MSR’16)。美国纽约计算机械协会351–361。编号:9781450341868https://doi.org/10.1145/2901739.2901743谷歌学者谷歌学者数字图书馆数字图书馆
  38. Nusrat Zahan、Thomas Zimmermann、Patrice Godefroid、Brendan Murphy、Chandra Maddila和Laurie Williams。2022.Npm供应链中的薄弱环节是什么?第44届国际软件工程会议论文集:软件工程实践(ICSE-SEIP’22)。计算机械协会,美国纽约州纽约市331–340。编号:9781450392266https://doi.org/10.1145/3510457.3513044谷歌学者谷歌学者数字图书馆数字图书馆
  39. 马库斯·齐默尔曼(Markus Zimmermann)、克里斯蒂安·阿莱克桑德鲁·斯塔伊库(Cristian-Alexandru Staicu)、坎·坦尼(Cam Tenny)和迈克尔·普拉德尔(Michael Pradel)。2019.高风险小世界:Npm生态系统安全威胁研究。第28届USENIX安全研讨会(SEC’19)会议记录。USENIX协会,美国995–1010。编号:9781939133069谷歌学者谷歌学者

索引术语

  1. npm-follower:跟踪npm生态系统的完整数据集

    建议

    评论

    登录选项

    检查您是否可以通过登录凭据或您的机构访问本文。

    登录

    完全访问权限

    • 发布于

      封面图片ACM会议
      ESEC/FSE 2023:第31届ACM联合欧洲软件工程会议和软件工程基础研讨会会议记录
      2023年11月
      2215页
      国际标准图书编号:9798400703270
      内政部:10.1145/3611643

      版权所有©2023 ACM

      允许制作本作品的全部或部分数字或硬拷贝供个人或课堂使用,但不收取任何费用,前提是复制品的制作或分发不是为了盈利或商业利益,并且复制品在首页注明本通知和完整引文。必须尊重作者以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护].

      出版商

      计算机协会

      美国纽约州纽约市

      出版历史

      • 出版:2023年11月30日

      权限

      请求有关此文章的权限。

      请求权限

      检查更新

      限定符

      • 研究论文

      接受率

      总体验收率112属于543提交文件,21%

      即将召开的会议

      24年FSE
      第32届ACM国际软件工程基础会议
      2024年7月15日至19日
      伊波朱卡(伯南布哥),巴西
    • 文章指标

      • 下载次数(过去12个月)128
      • 下载次数(最近6周)9

      其他指标

    PDF格式

    以PDF文件查看或下载。

    PDF格式

    电子阅读器

    使用eReader联机查看。

    电子阅读器