Software product lines (SPL) have emerged as a pivotal paradigm in software engineering, enabling the efficient development of variant-rich software systems. Consistently updating these systems, often through over-the-air updates, enables the continuous integration of new features and bug fixes, ensuring the system remains up to date throughout its entire lifecycle. However, evolving such complex systems is an error prone task, leading to a phenomenon known as erosion. This phenomenon significantly impacts the efficiency and longevity of software systems, presenting a formidable challenge for manufacturers of variant-rich software systems, such as in the automotive domain. While existing studies concentrate on the evolutionary planning of variant-rich software systems, there is a noticeable lack of research addressing the problem of erosion. In this paper, we conduct an in-depth exploration of the erosion phenomena within variant-rich software systems. We begin by highlighting the significance of controlling erosion in extensive variant-rich software systems. Subsequently, we address the current challenges regarding tackling erosion, including issues such as the lack of a consensus on understanding and defining erosion, as well as the early detection and elimination. Finally, we outline a first approach aimed at tackling erosion in variant-rich software systems.
翻译:软件产品线已成为软件工程中的关键范式,能够高效开发变体丰富的软件系统。通过持续更新(通常采用空中下载技术)这些系统,可以实现新功能与错误修复的持续集成,确保系统在整个生命周期中保持最新状态。然而,演化此类复杂系统极易引发错误,导致一种称为"侵蚀"的现象。该现象显著影响软件系统的效率与使用寿命,对汽车领域等变体丰富软件系统的制造商构成了严峻挑战。现有研究主要聚焦于变体丰富软件系统的演化规划,而在侵蚀问题的应对方面存在明显研究空白。本文对变体丰富软件系统中的侵蚀现象展开深入探讨:首先阐明在大型变体丰富软件系统中控制侵蚀现象的重要性;继而剖析当前应对侵蚀现象面临的挑战,包括对侵蚀的理解与定义缺乏共识、早期检测与消除机制不足等问题;最后提出应对变体丰富软件系统侵蚀现象的初步解决方案框架。