Search Based Software Engineering for Variability Management
Search Based Software Engineering for Variability Management
Disciplines
Computer Sciences (100%)
Keywords
-
Search Based Software Engineering,
Software Evolution,
Software Product Lines,
Model Driven Engineering,
Consistency Checking,
Variability Management
Because of economical, technological and marketing reasons today`s software systems are more frequently being built as Software Product Lines (SPLs) where each product implements a different combination of features - increments in program functionality. The effective management and realization of variability - the capacity of software artifacts to vary - is crucial to reap the benefits of SPL practices. Among these benefits are: increased software reuse, faster and easier product customization, and reduced time to market. An important challenge in Software Product Line Engineering (SPLE) is guaranteeing that all the desired software products (i.e. distinct feature combinations) can in fact be realized from the existing set of artifacts in a SPL. Verifying this guarantee is a non-trivial task because of the typically large number of software products and the inherent complexity of the artifacts involved. This guarantee is even more important when considering variability evolution, whether in effectively managing changes to an existing SPL or in extracting variability out of existing system variants - that may or may not have some common development history - to create a new SPL. Consequently, when this guarantee does not hold, it is vital to provide software designers with sets of fixes or other variability modeling and implementation alternatives to deal with this lack. Search-Based Software Engineering (SBSE) is an emerging discipline that focuses on the application of search- based optimization techniques to problems in Software Engineering. Among the techniques SBSE relies on are basic search algorithms such as hill climbing or simulated annealing, and evolutionary computation techniques such as genetic algorithms or genetic programming. SBSE techniques permit the elicitation of multiple software designs or module refactoring that can be evaluated and assessed using different software quality metrics as fitness metrics. Additionally, such techniques are generic, robust and scalable making them suitable for addressing the above challenges in variability management. The main goals of the project are to: perform a comprehensive review and analysis of SBSE techniques to identify the possible alternatives for tackling the identified SPL development problems and characterize their pros, cons and trade-offs involved; implement adequate tooling support that facilitates the application of the identified SBSE techniques; and conduct an assessment of the selected SBSE techniques with several cases studies of distinct sizes and application domains.
Software is present in almost every aspect of current modern life. To name a few examples, software controls our mobile phones, television sets, laundry machines, cars and the majority of public transportation and communication systems. However, product users have many similar needs but still may have special needs. This fact makes the manufacturing of products as part of product lines an economical necessity. A typical example is mobile phones that come with different options for cameras, memory sizes, battery duration, etc. Hence the software running behind these product lines must also be customized so that the product resources are effectively and efficiently used, without compromising any safety and security attributes of each individual type of product. This customization of software is a complex and demanding task which is currently done mostly by programmers in a manual and ad hoc way within the stringent technological and managerial constraints that demand high volumes of quality software delivered in short periods of time. Our work addressed this dire need by providing models and mechanisms to identify all possible combinations of features required for a software product line, assuring some basic functionality properties without exhaustive testing of all possible combinations, and supporting software engineers with information for the design and implementation decisions they have to make. The novelty of our work is the application of mechanisms inspired by nature to tackle the complexity of the software customization challenge in particular we explored techniques based on the basic notions of natural evolution proposed by Charles Darwin. The results obtained in our project proved the great potential and applicability of these kinds of techniques for software customization, mapped out the current state-of-the-art in this area, and laid down many open questions and research challenges thus defining a comprehensive research agenda. The adoption of these results by the software industry will materialize in more customizable software, tailored fit for the concrete needs of the users and products, while being more reliable, more environmentally-aware use of computational resources, and with reduced consumer costs.
- Universität Linz - 100%
Research Output
- 301 Citations
- 21 Publications
-
2016
Title Co-evolution of metamodels and models through consistent change propagation DOI 10.1016/j.jss.2015.03.003 Type Journal Article Author Demuth A Journal Journal of Systems and Software Pages 281-297 -
2014
Title Comparative Analysis of Classical Multi-Objective Evolutionary Algorithms and Seeding Strategies for Pairwise Testing of Software Product Lines DOI 10.1109/cec.2014.6900473 Type Conference Proceeding Abstract Author Lopez-Herrejon R Pages 387-396 Link Publication -
2014
Title Feature Model Synthesis with Genetic Programming DOI 10.1007/978-3-319-09940-8_11 Type Book Chapter Author Linsbauer L Publisher Springer Nature Pages 153-167 -
2014
Title Comparative analysis of classical multi-objective evolutionary algorithms and seeding strategies for pairwise testing of software product lines. Type Conference Proceeding Abstract Author Alba E Et Al -
2014
Title A survey on teaching of software product lines DOI 10.1145/2556624.2556629 Type Conference Proceeding Abstract Author Acher M Pages 1-8 Link Publication -
2014
Title Towards a benchmark and a comparison framework for combinatorial interaction testing of software product lines. Type Journal Article Author Alba A Et Al Journal CoRR -
2014
Title Automatic and Incremental Product Optimization for Software Product Lines DOI 10.1109/icst.2014.14 Type Conference Proceeding Abstract Author Demuth A Pages 31-40 -
2014
Title A hitchhiker's guide to search-based software engineering for software product lines. Type Journal Article Author Alba E Et Al Journal CoRR -
2014
Title A parallel evolutionary algorithm for prioritized pairwise testing of software product lines DOI 10.1145/2576768.2598305 Type Conference Proceeding Abstract Author Lopez-Herrejon R Pages 1255-1262 Link Publication -
2013
Title Co-evolution of metamodels and models through consistent change Propagation. Type Conference Proceeding Abstract Author Demuth A Conference Proceedings of the Workshop on Models and Evolution co-located with ACM/IEEE 16th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2013), Miami, Florida, USA, October 1, 2013 -
2013
Title Improving CASA Runtime Performance by Exploiting Basic Feature Model Analysis DOI 10.48550/arxiv.1311.7313 Type Preprint Author Haslinger E -
2013
Title Towards Interactive Visualization Support for Pairwise Testing Software Product Lines DOI 10.1109/vissoft.2013.6650543 Type Conference Proceeding Abstract Author Lopez-Herrejon R Pages 1-4 -
2013
Title SBSE4VM: Search Based Software Engineering for Variability Management DOI 10.1109/csmr.2013.67 Type Conference Proceeding Abstract Author Lopez-Herrejon R Pages 441-444 -
2014
Title A parallel evolutionary algorithm for prioritized pairwise testing of software product lines. Type Conference Proceeding Abstract Author Alba E Et Al -
2014
Title Consistency checking in early software product line specifications -the VCC Approach. Type Journal Article Author Alferez M -
2012
Title Constraint-Driven Modeling through Transformation DOI 10.1007/978-3-642-30476-7_17 Type Book Chapter Author Demuth A Publisher Springer Nature Pages 248-263 -
2013
Title Multi-Objective Optimal Test Suite Computation for Software Product Line Pairwise Testing DOI 10.1109/icsm.2013.58 Type Conference Proceeding Abstract Author Lopez-Herrejon R Pages 404-407 Link Publication -
2013
Title On Extracting Feature Models from Sets of Valid Feature Combinations DOI 10.1007/978-3-642-37057-1_5 Type Book Chapter Author Haslinger E Publisher Springer Nature Pages 53-67 -
2013
Title Using feature model knowledge to speed up the generation of covering arrays DOI 10.1145/2430502.2430524 Type Conference Proceeding Abstract Author Haslinger E Pages 1-6 -
2013
Title Recovering traceability between features and code in product variants DOI 10.1145/2491627.2491630 Type Conference Proceeding Abstract Author Linsbauer L Pages 131-140 -
2013
Title Supporting the Co-evolution of Metamodels and Constraints through Incremental Constraint Management DOI 10.1007/978-3-642-41533-3_18 Type Book Chapter Author Demuth A Publisher Springer Nature Pages 287-303