arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2409.04588cs.SE
收藏

PVAC:包版本活动分类器,在异构系统中利用语义化版本控制

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

Shane K. Panter, Luke Hindman, Nasir U. Eisty

AI总结:

本研究提出系统方法和原型工具 PVAC,通过解析语义化版本控制细节并利用三个组件对异构包管理器生态系统中的版本活动进行分类与定量评分,在 Debian 和 Ubuntu 数据集上验证了其准确性与有效性。

摘要:

背景:现代开源软件生态系统(如由 GNU/Linux 发行版管理的系统)由不同社区独立开发的众多包组成。这些生态系统采用包管理工具来促进软件安装和依赖解析。然而,这些工具缺乏在其异构软件环境中系统评估开发活动和版本控制动态的稳健机制。目标:本研究旨在引入一种系统方法和原型工具,用于评估异构包管理器生态系统内的版本活动,从而实现对软件包更新的定量分析。方法:我们开发了包版本活动分类器(PVAC),它由三个组件组成。版本分类器(VC)对各种语义版本号进行分类;版本号增量(VND)组件计算一个数值分数,表示生态系统级别跨包的聚合语义版本变更;最后是活动分类器(AC),对该生态系统内各个包的活动进行分类。PVAC 利用定制的正则表达式从各种包版本字符串中解析语义化版本控制细节(epoch、major、minor 和 patch 版本),从而实现对版本变更的一致分类和定量评分。结果:PVAC 使用来自 Debian 和 Ubuntu GNU/Linux 发行版最新版本的 22,535 个包的数据集进行了实证评估。我们的研究结果证明了 PVAC 在准确分类版本控制方案和定量测量跨发布版本活动方面的有效性。我们提供了实证证据,证实语义化版本控制(包括适应性变体)在这些生态系统中被主要采用。

英文摘要:

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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑