Feature-Interaction Aware Configuration Prioritization for Configurable Code

11/18/2019
by   Son Nguyen, et al.
0

Unexpected interactions among features induce most bugs in a configurable software system. Exhaustively analyzing all the exponential number of possible configurations is prohibitively costly. Thus, various sampling techniques have been proposed to systematically narrow down the exponential number of legal configurations to be analyzed. Since analyzing all selected configurations can require a huge amount of effort, fault-based configuration prioritization, that helps detect faults earlier, can yield practical benefits in quality assurance. In this paper, we propose CoPro, a novel formulation of feature-interaction bugs via common program entities enabled/disabled by the features. Leveraging from that, we develop an efficient feature-interaction aware configuration prioritization technique for a configurable system by ranking the configurations according to their total number of potential bugs. We conducted several experiments to evaluate CoPro on the ability to detect configuration-related bugs in a public benchmark. We found that CoPro outperforms the state-of-the-art configuration prioritization techniques when we add them on advanced sampling algorithms. In 78 the buggy configurations at the top 3 positions in the resulting list. Interestingly, CoPro is able to detect 17 not-yet-discovered feature-interaction bugs.

READ FULL TEXT
research
11/18/2019

Configuration-dependent Fault Localization

In a buggy configurable system, configuration-dependent bugs cause the f...
research
12/07/2021

Control Parameters Considered Harmful: Detecting Range Specification Bugs in Drone Configuration Modules via Learning-Guided Search

In order to support a variety of missions and deal with different flight...
research
10/22/2017

Test them all, is it worth it? A ground truth comparison of configuration sampling strategies

Many approaches for testing configurable software systems start from the...
research
01/22/2021

MAVERICK: Proactively detecting network control plane bugs using structural outlierness

Proactive detection of network configuration bugs is important to ensure...
research
03/28/2019

iGen: Dynamic Interaction Inference for Configurable Software

To develop, analyze, and evolve today's highly configurable software sys...
research
02/27/2022

How to Debug Inclusivity Bugs? A Debugging Process with Information Architecture

Although some previous research has found ways to find inclusivity bugs ...
research
04/27/2022

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

When configuring a software product line, finding a good trade-off betwe...

Please sign up or login with your details

Forgot password? Click here to reset