A Co-Evolution Analysis for Software Product Lines

2015 ◽  
Vol 6 (3) ◽  
pp. 9-32 ◽  
Author(s):  
Anissa Benlarabi ◽  
Amal Khtira ◽  
Bouchra El Asri

In this rapidly changing world, business strategies continuously evolve to meet customers' wishes. Hence, the ability to cope with the frequent business changes is becoming important criteria of a leading development paradigm. Software product line engineering is a development paradigm based on reuse that builds a common platform from which a set of applications can be derived. Despite its advantage of enhancing time to market and costs, it is exposed to the risk of falling into the aging phenomenon because of the complexity of its evolution. In this paper the authors present a co-evolution based approach for protecting the software product lines from the aging phenomenon. The approach uses cladistics and trees reconciliation that are mainly used in biology to analyze the co-evolution between organisms. The authors' major goal is to find out changes of products that were not propagated to the common platform at the aim of reconsidering them in the platform and thus protecting it from being obsolete.

Author(s):  
Anissa Benlarabi ◽  
Amal Khtira ◽  
Bouchra El Asri

Software product line engineering is a development paradigm based on reuse. It builds a common platform from which a set of applications can be derived. Despite its advantage of enhancing time to market and costs, it presents some complications. Among them, the complexity of its evolution because all the components are shared between the derived products. For this reason, the change impact analysis and the evolution understanding in software product lines require greater focus than in single software. In this chapter, the authors present CASPL platform for co-evolution analysis in software product lines. The platform uses evolutionary trees that are mainly used in biology to analyze the co-evolution between applications. The major goal is to enhance the change understanding and to compare the history of changes in the applications of the family, at the aim of correcting divergences between them.


2021 ◽  
Vol 26 (2) ◽  
Author(s):  
Robert Lindohf ◽  
Jacob Krüger ◽  
Erik Herzog ◽  
Thorsten Berger

AbstractSoftware product-line engineering is arguably one of the most successful methods for establishing large portfolios of software variants in an application domain. However, despite the benefits, establishing a product line requires substantial upfront investments into a software platform with a proper product-line architecture, into new software-engineering processes (domain engineering and application engineering), into business strategies with commercially successful product-line visions and financial planning, as well as into re-organization of development teams. Moreover, establishing a full-fledged product line is not always possible or desired, and thus organizations often adopt product-line engineering only to an extent that deemed necessary or was possible. However, understanding the current state of adoption, namely, the maturity or performance of product-line engineering in an organization, is challenging, while being crucial to steer investments. To this end, several measurement methods have been proposed in the literature, with the most prominent one being the Family Evaluation Framework (FEF), introduced almost two decades ago. Unfortunately, applying it is not straightforward, and the benefits of using it have not been assessed so far. We present an experience report of applying the FEF to nine medium- to large-scale product lines in the avionics domain. We discuss how we tailored and executed the FEF, together with the relevant adaptations and extensions we needed to perform. Specifically, we elicited the data for the FEF assessment with 27 interviews over a period of 11 months. We discuss experiences and assess the benefits of using the FEF, aiming at helping other organizations assessing their practices for engineering their portfolios of software variants.


2012 ◽  
Vol 22 ◽  
pp. 134-140
Author(s):  
María Karen Cortés-Verdín ◽  
María Lucía López-Araujo ◽  
Jorge Octavio Ocharán-Hernández

Software Product Lines (SPL) take economic advantage of commonality and variability among a set of software systems that exist within a specific domain. Therefore, Software Product Line Engineering defines a series of processes for the development of a SPL that consider commonality and variability during the software life cycle. Variability modeling is therefore an essential activity in a Software Product Line Engineering approach. There are several techniques for variability modeling nowadays. COVAMOF stands out among them since it allows the modeling of variation points, variants and dependencies as first class elements. COVAMOF, therefore, provides an uniform manner for representing such concepts in different levels of abstraction within a SPL. In order to take advantage of COVAMOF benefits, it is necessary to have a computer aided tool, otherwise variability modeling and management canbe a hard tasks for the software engineer. This paper presents the development of a Eclipse plug-in for COVAMOF.


Author(s):  
Camila Nunes ◽  
Uirá Kulesza ◽  
Roberta Coelho ◽  
Carlos Lucena ◽  
Flávia Delicato ◽  
...  

Aspect-Oriented Software Development (AOSD) has evolved as a software development paradigm over the last decade. Recent research work has explored the use of Aspect-Oriented Programming (AOP) to modularize variations in product lines. This chapter presents a strategy for modeling and documenting aspect-oriented variations by integrating two existing approaches: (1) use cases are used to express the crosscutting nature of the variations of a mobile product line; and (2) crosscutting interfaces help the definition of the relevant variation join points that are raised by the mobile product line core and are extended by its respective variations. The synergy and benefits of the integration between these approaches are demonstrated by modeling and documenting MobileMedia, a software product line that provides support to manage different media (photo, music, and video) on mobile devices. Evolution scenarios of the MobileMedia are used to illustrate the benefits of the integrated usage of use cases and crosscutting interfaces in order to identify and analyze the change impact on the mobile product line.


Author(s):  
Jesús Rodríguez ◽  
Eduardo Fernández-Medina ◽  
Mario Piattini ◽  
Daniel Mellado

The concepts of Service-Oriented Architectures and Software Product Lines are currently being paid a considerable amount of attention, both in research and in practice. Both disciplines promise to make the development of flexible, cost-effective software systems possible and to support high levels of reuse, and may sometimes be complementary to each other. In both paradigms, security is a critical issue, although most of the existing product line practices do not comprise all the security requirements engineering activities or provide automated support through which to perform these activities, despite the fact that it is widely accepted that the application of any requirements engineering process or methodology is much more difficult without a CARE (Computer-Aided Requirements Engineering) tool, since it must be performed manually. Therefore, this chapter shall present a tool denominated as SREPPLineTool, which provides automated support through which to facilitate the application of the security quality requirements engineering process for software product lines, SREPPLine. SREPPLineTool simplifies the management of security requirements in product lines by providing us with a guided, systematic and intuitive manner in which to deal with them from the early stages of product line development, thus simplifying the management and the visualization of artefact variability and traceability links and the integration of security standards, along with the management of the security reference model proposed by SREPPLine.


2019 ◽  
Vol 9 (24) ◽  
pp. 5364 ◽  
Author(s):  
Ángel Jesús Varela-Vaca  ◽  
Rafael M. Gasca ◽  
Rafael Ceballos ◽  
María Teresa Gómez-López ◽  
Pedro Bernáldez Torres

Cybersecurity attacks affect the compliance of cybersecurity policies of the organisations. Such disadvantages may be due to the absence of security configurations or the use of default configuration values of software products and systems. The complexity in the configuration of products and systems is a known challenge in the software industry since it includes a wide range of parameters to be taken into account. In other contexts, the configuration problems are solved using Software Product Lines. This is the reason why in this article the framework Cybersecurity Software Product Line (CyberSPL) is proposed. CyberSPL is based on a methodology to design product lines to verify cybersecurity policies according to the possible configurations. The patterns to configure the systems related to the cybersecurity aspects are grouped by defining various feature models. The automated analysis of these models allows us to diagnose possible problems in the security configurations, reducing or avoiding them. As support for this proposal, a multi-user and multi-platform solution has been implemented, enabling setting a catalogue of public or private feature models. Moreover, analysis and reasoning mechanisms have been integrated to obtain all the configurations of a model, to detect if a configuration is valid or not, including the root cause of problems for a given configuration. For validating the proposal, a real scenario is proposed where a catalogue of four different feature models is presented. In this scenario, the models have been analysed, different configurations have been validated, and several configurations with problems have been diagnosed.


2015 ◽  
Vol 3 (1) ◽  
pp. 1-15 ◽  
Author(s):  
Taeho Kim ◽  
Sungwon Kang

In order to successfully carry out software product line engineering, it is important to manage variability and explicit traceability management of variabilities with development artifacts. Trace links of variability with development artifacts allows software engineers to have rapid product development and reduces maintenance efforts resulting from requirement changes or defect corrections as trace links improve the understandability of their side effects. In this study, the authors present a Variability Tracing Approach (VTA), which consists of variability analysis, variability classification, and variability implementation. The proposed approach is applied to developing the development of a washing machine software platform. This paper describes the results of how a member product can be configured under the proposed VTA.


Sign in / Sign up

Export Citation Format

Share Document