English

PVAC: Package Version Activity Categorizer, Leveraging Semantic Versioning in a Heterogeneous System

Software Engineering 2025-06-03 v2

Abstract

Context: Modern open-source software ecosystems, such as those managed by GNU/Linux distributions, are composed of numerous packages developed independently by diverse communities. These ecosystems employ package management tools to facilitate software installation and dependency resolution. However, these tools lack robust mechanisms for systematically evaluating the development activity and versioning dynamics within their heterogeneous software environments. Objective: This research aims to introduce a systematic method and a prototype tool for assessing version activity within heterogeneous package manager ecosystems, enabling quantitative analysis of software package updates. Method: We developed a Package Version Activity Categorizer (PVAC) that consists of three components. The Version Categorizer (VC), which categorizes diverse semantic version numbers, a Version Number Delta (VND) component, which calculates a numeric score representing the aggregated semantic version changes across packages at the ecosystem level, and finally, an Activity Categorizer (AC) that categorizes the activity of individual packages within that ecosystem. PVAC utilizes tailored regular expressions to parse semantic versioning details (epoch, major, minor, and patch versions) from diverse package version strings, enabling consistent categorization and quantitative scoring of version changes. Results: PVAC was empirically evaluated using a dataset of 22,535 packages drawn from recent releases of Debian and Ubuntu GNU/Linux distributions. Our findings demonstrate PVAC's effectiveness for accurately categorizing versioning schemes and quantitatively measuring version activity across releases. We provide empirical evidence confirming that semantic versioning, including adapted variations, is predominantly employed across these ecosystems.

Cite

@article{arxiv.2409.04588,
  title  = {PVAC: Package Version Activity Categorizer, Leveraging Semantic Versioning in a Heterogeneous System},
  author = {Shane K. Panter and Luke Hindman and Nasir U. Eisty},
  journal= {arXiv preprint arXiv:2409.04588},
  year   = {2025}
}

Comments

Accepted to Empirical Software Engineering

R2 v1 2026-06-28T18:36:59.277Z