Pith. sign in

REVIEW 1 cited by

Detecting and removing bloated dependencies in CommonJS packages

Not yet reviewed by Pith; the record is open.

This paper has not been read by Pith yet. Machine review is queued; the pith claim, tier, and objections will appear here once it completes.

SPECIMEN: schema-true, not a live event

T0 review · schema-true

One-sentence machine reading of the paper's core claim.

pith:XXXXXXXX · record.json · timestamp

arxiv 2405.17939 v4 pith:BBY7ISTF submitted 2024-05-28 cs.SE

classification cs.SE
keywords dependenciesbloatedapplicationsanalysiscommonjsdynamicpackagesbloat
verification ladder T0 review T1 audit T2 compute T3 formal
0 comments
read the original abstract

JavaScript packages are notoriously prone to bloat, a factor that significantly impacts the performance and maintainability of web applications. While web bundlers and tree-shaking can mitigate this issue in client-side applications, state-of-the-art techniques have limitations on the detection and removal of bloat in server-side applications. In this paper, we present the first study to investigate bloated dependencies within server-side JavaScript applications, focusing on those built with the widely used and highly dynamic CommonJS module system. We propose a trace-based dynamic analysis that monitors the OS file system to determine which dependencies are not accessed during runtime. To evaluate our approach, we curate an original dataset of 91 CommonJS packages with a total of 50,488 dependencies. Compared to the state-of-the-art dynamic and static approaches, our trace-based analysis demonstrates higher accuracy in detecting bloated dependencies. Our analysis identifies 50.6% of the 50,488 dependencies as bloated: 13.8% of direct dependencies and 51.3% of indirect dependencies. Furthermore, removing only the direct bloated dependencies by cleaning the dependency configuration file can remove a significant share of unnecessary bloated indirect dependencies while preserving functional correctness.

Discussion (0). Continue with ORCID to comment.

Forward citations

Cited by 1 Pith paper

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score. Full citation record

  1. Which Is Better For Reducing Outdated and Vulnerable Dependencies: Pinning or Floating?

    cs.SE 2025-10 conditional novelty 5.0 of 10

    Across three package ecosystems, floating version constraints are less likely than pinning to leave dependencies outdated, while the claim that floating-minor is least vulnerability-prone is the main genuinely empiric...

Pith tools