Analysis of variability models: a systematic literature review

  • PDF / 3,037,122 Bytes
  • 35 Pages / 595.276 x 790.866 pts Page_size
  • 25 Downloads / 242 Views

DOWNLOAD

REPORT


REGULAR PAPER

Analysis of variability models: a systematic literature review Matias Pol’la1 · Agustina Buccella1 · Alejandra Cechich1 Received: 14 June 2019 / Revised: 11 September 2020 / Accepted: 27 October 2020 © Springer-Verlag GmbH Germany, part of Springer Nature 2020

Abstract Dealing with variability, during Software Product Line Engineering (SPLE), means trying to allow software engineers to develop a set of similar applications based on a manageable range of variable functionalities according to expert users’ needs. Particularly, variability management (VM) is an activity that allows flexibility and a high level of reuse during software development. In the last years, we have witnessed a proliferation of methods, techniques and supporting tools for VM in general, and for its analysis in particular. More precisely, a specific field has emerged, named (automated) variability analysis, focusing on verifying variability models across the SPLE’s phases. In this paper, we introduce a systematic literature review of existing proposals (as primary studies) focused on analyzing variability models. We define a classification framework, which is composed of 20 sub-characteristics addressing general aspects, such as scope and validation, as well as model-specific aspects, such as variability primitives, reasoner type. The framework allows to look at the analysis of variability models during its whole life cycle—from design to derivation—according to the activities involved during an SPL development. Also, the framework helps us answer three research questions defined for showing the state of the art and drawing challenges for the near future. Among the more interesting challenges, we can highlight the needs of more applications in industry, the existence of more mature tools, and the needs of providing more semantics in the way of variability primitives for identifying inconsistencies in the models. Keywords Variability analysis · Software Product Line · Variability management · Supporting tools

1 Introduction Software Product Line Engineering (SPLE) [14,57,77] is focused on defining commonalities and variabilities of members of program families, called products. The set of common features1 or functionalities2 of a Software Product Line (SPL) denotes the software platform, which serves as a basis for building each resulting product. 1

A prominent or distinctive user-visible aspect, quality, or characteristic of a software system or systems [36]. 2 The ability to perform a task or function. Communicated by Andrzej Wasowski. This work is partially supported by the UNComa Project 04/F009 “Reuso de Software orientado a Dominios—Parte II” part of the program “Desarrollo de Software Basado en Reuso—Parte II”.

B 1

Agustina Buccella [email protected] GIISCO Research Group, Departamento de Ingeniería de Sistemas - Facultad de Informática, Universidad Nacional del Comahue, Buenos Aires 1400, 8300 Neuquén, Argentina

Although each of these products can incorporate new requirements that exceed the common as