We're Not Gonna Break It! Consistency-Preserving Operators for Efficient Product Line Configuration

04/27/2022
by   Jose-Miguel Horcas, et al.
0

When configuring a software product line, finding a good trade-off between multiple orthogonal quality concerns is a challenging multi-objective optimisation problem. State-of-the-art solutions based on search-based techniques create invalid configurations in intermediate steps, requiring additional repair actions that reduce the efficiency of the search. In this work, we introduce consistency-preserving configuration operators (CPCOs)–genetic operators that maintain valid configurations throughout the entire search. CPCOs bundle coherent sets of changes: the activation or deactivation of a particular feature together with other (de)activations that are needed to preserve validity. In our evaluation, our instantiation of the IBEA algorithm with CPCOs outperforms two state-of-the-art tools for optimal product line configuration in terms of both speed and solution quality. The improvements are especially pronounced in large product lines with thousands of features.

READ FULL TEXT
research
12/10/2021

MOBAFS: A Multi Objective Bee Algorithm for Feature subset selection in Software Product Lines

Software product line represents software engineering methods, tools and...
research
01/07/2018

Finding Faster Configurations using FLASH

Finding good configurations for a software system is often challenging s...
research
03/16/2020

Lazy Product Discovery in Huge Configuration Spaces

Highly-configurable software systems can have thousands of interdependen...
research
07/12/2019

Automatic Generation of Atomic Consistency Preserving Search Operators for Search-Based Model Engineering

Recently there has been increased interest in combining the fields of Mo...
research
09/16/2019

Towards Quality Assurance of Software Product Lines with Adversarial Configurations

Software product line (SPL) engineers put a lot of effort to ensure that...
research
12/09/2015

Partial Reinitialisation for Optimisers

Heuristic optimisers which search for an optimal configuration of variab...
research
11/18/2019

Feature-Interaction Aware Configuration Prioritization for Configurable Code

Unexpected interactions among features induce most bugs in a configurabl...

Please sign up or login with your details

Forgot password? Click here to reset