One of the key characteristics of software is its ability to be adapted and configured to different scenarios. Recently, software variability has been studied as a first-class concept in different domains ranging from software product lines to pervasive systems. Variability is the ability of a software product to vary depending on different circumstances. Variability intensive systems are those software products where variability management is a core engineering activity. The varying parts of those systems are commonly modeled by us- ing different variability model flavors, being feature modeling one of the most common ones. Feature models were first introduced by Kang et al. back in 1990 and are a compact representation of a set of configurations in a variability intensive system.
The large number of configurations that a feature model can encode makes the manual analysis of feature models an error prone and costly task. Then, computer-aided mechanisms appeared as a solution to extract useful information from feature models. This process of extracting information from feature models is known as ¿Automated Analysis of Feature models¿ that has been one of the main areas of research in the last years where more than thirty analysis operations have been proposed.
In this dissertation we looked for different tendencies in the automated analysis field and found several research opportunities. Driven by real-world scenarios such as smart phone or video¿surveillance domains, we contributed applying, adapting or extending automated analysis operations in variability intensive systems evolution, testing and configuration.
Concretely the main gaps addressed by this thesis are:
Testing. Two different solutions are presented in this context. First, we show how to prune, prioritize and package variability intensive systems con- figurations by the use of attributed feature models. This solution brings cost and value guided testing to variability intensive systems. Second, we present a hybrid solution to enable the prioritization of pair-wise covering sets while taking into account multiple stakeholders preferences. Both, approaches are validated in different contexts such as smartphone ecosystems and video-sequences generators.
Evolution. Evolution is intimately related with testing, being one of the main task in the evolution process. Evolution of variability models may span between different years. We propose mechanisms to grant the safeness of the transition of a configuration between different evolution phases. We evaluated this approach within an avionics scenario.
Configuration. We propose a solution to configure diverse variability intensive systems that have been modeled with different variability model languages and have different visibility restrictions. We validated this approach by using the motivating scenario of the Android permission system.
© 2001-2024 Fundación Dialnet · Todos los derechos reservados