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

Nobuhiro Kasai, Isao Sasano

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


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
Number of pages18
ISBN (Print)9783030890506
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


Conference19th Asian Symposium on Programming Languages and Systems, APLAS 2021
Country/TerritoryUnited States


  • Package manager
  • Parallelization
  • Server-side computation

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science


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

Cite this