PVAC: Package version activity categorizer, leveraging semantic versioning in a heterogeneous system

Shane K. Panter, Lucas S. Hindman, Nasir U. Eisty

Research output: Contribution to journalArticlepeer-review

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 P̲ackage V̲ersion A̲ctivity C̲ategorizer (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. Conclusions: PVAC represents an effective solution for systematically assessing and monitoring the software package version activity within heterogeneous ecosystems. By providing clear metrics for software activity at both the ecosystem and individual package levels, PVAC helps software maintainers and researchers precisely identify packages that require updates or security remediation, thereby reducing potential security risks, technical debt, and technical lag.

Original languageEnglish
Article number118
JournalEmpirical Software Engineering
Volume30
Issue number5
DOIs
StatePublished - Oct 2025

Keywords

  • Community health analytics in open source software (CHAOSS)
  • Development activity
  • Open-source software (OSS)
  • Package managers
  • Semantic versioning
  • Semver
  • Technical Lag

Fingerprint

Dive into the research topics of 'PVAC: Package version activity categorizer, leveraging semantic versioning in a heterogeneous system'. Together they form a unique fingerprint.

Cite this