Server-Side Computation of Package Dependencies in Package-Management Systems

Nobuhiro Kasai, Isao Sasano

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Package managers are often used in recent software development to obtain directly-dependent packages recursively. Typically, package managers make requests to the package registry more than once when computing indirect dependencies. Moreover, much amount of computations are duplicated by clients of package managers. This duplication can be avoided by computing indirect dependencies in advance on the server-side of package-management systems. Therefore, we propose two algorithms functioning in parallel on the server-side: one to compute the indirect dependencies when copying all packages in existing package managers to the server and one to add packages to the server. Based on these parallelized algorithms, we implement a server fpms-server and a client fpms for npm packages. By our experiments, our client obtains dependencies of some package more than two times faster than clients in existing npm and yarn systems.

Original languageEnglish
Title of host publicationProgramming Languages and Systems - 19th Asian Symposium, APLAS 2021, Proceedings
EditorsHakjoo Oh
PublisherSpringer Science and Business Media Deutschland GmbH
Pages62-79
Number of pages18
ISBN (Print)9783030890506
DOIs
Publication statusPublished - 2021
Event19th Asian Symposium on Programming Languages and Systems, APLAS 2021 - Chicago, United States
Duration: 2021 Oct 172021 Oct 18

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume13008 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference19th Asian Symposium on Programming Languages and Systems, APLAS 2021
Country/TerritoryUnited States
CityChicago
Period21/10/1721/10/18

Keywords

  • Package manager
  • Parallelization
  • Server-side computation

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Server-Side Computation of Package Dependencies in Package-Management Systems'. Together they form a unique fingerprint.

Cite this