当前位置: X-MOL 学术J. Braz. Comput. Soc. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Product line architecture recovery with outlier filtering in software families: the Apo-Games case study
Journal of the Brazilian Computer Society Pub Date : 2019-06-24 , DOI: 10.1186/s13173-019-0088-4
Crescencio Lima , Wesley KG Assunção , Jabier Martinez , William Mendonça , Ivan C Machado , Christina FG Chavez

Software product line (SPL) approach has been widely adopted to achieve systematic reuse in families of software products. Despite its benefits, developing an SPL from scratch requires high up-front investment. Because of that, organizations commonly create product variants with opportunistic reuse approaches (e.g., copy-and-paste or clone-and-own). However, maintenance and evolution of a large number of product variants is a challenging task. In this context, a family of products developed opportunistically is a good starting point to adopt SPLs, known as extractive approach for SPL adoption. One of the initial phases of the extractive approach is the recovery and definition of a product line architecture (PLA) based on existing software variants, to support variant derivation and also to allow the customization according to customers’ needs. The problem of defining a PLA from existing system variants is that some variants can become highly unrelated to their predecessors, known as outlier variants. The inclusion of outlier variants in the PLA recovery leads to additional effort and noise in the common structure and complicates architectural decisions. In this work, we present an automatic approach to identify and filter outlier variants during the recovery and definition of PLAs. Our approach identifies the minimum subset of cross-product architectural information for an effective PLA recovery. To evaluate our approach, we focus on real-world variants of the Apo-Games family. We recover a PLA taking as input 34 Apo-Game variants developed by using opportunistic reuse. The results provided evidence that our automatic approach is able to identify and filter outlier variants, allowing to eliminate exclusive packages and classes without removing the whole variant. We consider that the recovered PLA can help domain experts to take informed decisions to support SPL adoption.

中文翻译:

在软件系列中使用异常值过滤进行产品线架构恢复:Apo-Games 案例研究

软件产品线 (SPL) 方法已被广泛采用以实现软件产品系列中的系统重用。尽管有好处,但从头开始开发 SPL 需要大量的前期投资。因此,组织通常使用机会主义的重用方法(例如,复制和粘贴或克隆和拥有)来创建产品变体。然而,大量产品变体的维护和进化是一项具有挑战性的任务。在这种情况下,机会主义开发的一系列产品是采用 SPL 的良好起点,称为 SPL 采用的提取方法。提取方法的初始阶段之一是基于现有软件变体恢复和定义产品线架构 (PLA),以支持变体衍生并允许根据客户需求进行定制。从现有系统变体定义 PLA 的问题在于,某些变体可能变得与其前身高度无关,称为异常变体。在 PLA 恢复中包含异常值变体会导致公共结构中的额外工作和噪音,并使架构决策复杂化。在这项工作中,我们提出了一种在 PLA 的恢复和定义过程中识别和过滤异常值变体的自动方法。我们的方法为有效的 PLA 恢复确定了跨产品架构信息的最小子集。为了评估我们的方法,我们专注于 Apo-Games 系列的真实世界变体。我们使用机会重用开发的 34 个 Apo-Game 变体作为输入来恢复 PLA。结果证明我们的自动方法能够识别和过滤异常变量,允许在不删除整个变体的情况下消除独占包和类。我们认为恢复的 PLA 可以帮助领域专家做出明智的决定来支持 SPL 的采用。
更新日期:2019-06-24
down
wechat
bug