PVAC:在异构系统中利用语义版本控制的包版本活动分类器
软件工程
2025-06-03 v2
摘要
背景:现代开源软件生态系统,例如由 GNU/Linux 发行版管理的那些,由众多由不同社区独立开发的软件包组成。这些生态系统采用包管理工具来简化软件安装和依赖关系解析。然而,这些工具缺乏系统评估其异构软件环境中开发活动和版本控制动态的稳健机制。目标:本研究旨在引入一种系统方法和一个原型工具,用于评估异构包管理器生态系统中的版本活动,从而实现对软件包更新的定量分析。方法:我们开发了一个包版本活动分类器(PVAC),它由三个组件构成:版本分类器(VC),用于对多样化的语义版本号进行分类;版本号增量(VND)组件,用于计算一个数值分数,代表在生态系统层面聚合的语义版本变化;最后是活动分类器(AC),用于对该生态系统内单个软件包的活动进行分类。PVAC 利用定制的正则表达式从不同的包版本字符串中解析语义版本控制细节(纪元、主版本、次版本和补丁版本),从而实现对版本变化的一致分类和定量评分。结果:使用从 Debian 和 Ubuntu GNU/Linux 发行版最新版本中抽取的 22,535 个软件包数据集对 PVAC 进行了实证评估。我们的研究结果证明了 PVAC 在准确分类版本控制方案和跨版本定量测量版本活动方面的有效性。我们提供了实证证据,证实语义版本控制(包括其适应性变体)在这些生态系统中被广泛采用。
引用
@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}
}
备注
Accepted to Empirical Software Engineering