当前位置: X-MOL 学术J. Syst. Softw. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Concepts of variation control systems
Journal of Systems and Software ( IF 3.5 ) Pub Date : 2021-01-01 , DOI: 10.1016/j.jss.2020.110796
Lukas Linsbauer , Felix Schwägerl , Thorsten Berger , Paul Grünbacher

Abstract Version control systems are an integral part of today’s software engineering. They facilitate the collaborative management of revisions (sequential versions) and variants (concurrent versions) of software systems under development. Typical version control systems maintain revisions of files and variants of whole software systems. Variants are supported via branching or forking mechanisms that conceptually clone whole systems in a coarse-grained way. Unfortunately, such cloning leads to high maintenance efforts. To avoid these disadvantages and support fine-grained variation, developers need to employ custom configuration mechanisms, which leads to a misappropriation of tools and undesired context switches. Addressing this trade-off, a number of variation control systems has been conceived, providing a richer set of capabilities for handling variants. Variation control systems decompose a software system into finer-grained variable entities and offer high-level metaphors to automatically manage this variability. In this paper, we classify and compare variation control systems and illustrate their core concepts and characteristics. All investigated variation control systems offer an iterative (checkout–modify–commit) workflow, but there are essential differences affecting developers. We highlight challenges and discuss research perspectives for developing the next generation of version and variation control systems.

中文翻译:

变异控制系统的概念

摘要 版本控制系统是当今软件工程的一个组成部分。它们促进了正在开发的软件系统的修订(顺序版本)和变体(并发版本)的协作管理。典型的版本控制系统维护整个软件系统的文件和变体的修订。变体通过分支或分叉机制得到支持,这些机制在概念上以粗粒度的方式克隆整个系统。不幸的是,这种克隆导致高维护工作。为了避免这些缺点并支持细粒度的变化,开发人员需要采用自定义配置机制,这会导致工具的盗用和不需要的上下文切换。为了解决这种权衡,已经构思了许多变化控制系统,提供更丰富的处理变体的能力。变异控制系统将软件系统分解为更细粒度的变量实体,并提供高级隐喻来自动管理这种变异。在本文中,我们对变化控制系统进行了分类和比较,并说明了它们的核心概念和特征。所有调查的变化控制系统都提供迭代(结帐-修改-提交)工作流程,但存在影响开发人员的本质差异。我们强调挑战并讨论开发下一代版本和变化控制系统的研究前景。我们对变化控制系统进行分类和比较,并说明其核心概念和特征。所有调查的变化控制系统都提供迭代(结帐-修改-提交)工作流程,但存在影响开发人员的本质差异。我们强调挑战并讨论开发下一代版本和变化控制系统的研究前景。我们对变化控制系统进行分类和比较,并说明其核心概念和特征。所有调查的变化控制系统都提供迭代(结帐-修改-提交)工作流程,但存在影响开发人员的本质差异。我们强调挑战并讨论开发下一代版本和变化控制系统的研究前景。
更新日期:2021-01-01
down
wechat
bug