Reverse Engineering Variability in an Industrial Product Line: Observations and Lessons Learned

10/12/2021
by   Sascha El-Sharkawy, et al.
0

Ideally, a variability model is a correct and complete representation of product line features and constraints among them. Together with a mapping between features and code, this ensures that only valid products can be configured and derived. However, in practice the modeled constraints might be neither complete nor correct, which causes problems in the configuration and product derivation phases. This paper presents an approach to reverse engineer variability constraints from the implementation, and thus improve the correctness and completeness of variability models. We extended the concept of feature effect analysis to extract variability constraints from code artifacts of the Bosch PS-EC large-scale product line. We present an industrial application of the approach and discuss its required modifications to handle non-Boolean variability and heterogeneous artifact types.

READ FULL TEXT

page 5

page 7

research
10/12/2021

Reverse Engineering Code Dependencies: Converting Integer-Based Variability to Propositional Logic

A number of SAT-based analysis concepts and tools for software product l...
research
11/29/2020

Resolving code smells in software product line using refactoring and reverse engineering

Software Product Lines SPL are recognized as a successful approach to re...
research
10/12/2021

An Empirical Study of Configuration Mismatches in Linux

Ideally the variability of a product line is represented completely and ...
research
02/11/2021

DirectDebug: Automated Testing and Debugging of Feature Models

Variability models (e.g., feature models) are a common way for the repre...
research
05/30/2018

Towards Adversarial Configurations for Software Product Lines

Ensuring that all supposedly valid configurations of a software product ...
research
08/20/2019

Understanding Conditional Compilation Through Integrated Representation of Variability and Source Code

The C preprocessor (CPP) is a standard tool for introducing variability ...
research
08/26/2020

Generic Analysis of Model Product Lines via Constraint Lifting

Engineering a product-line is more than just describing a product-line: ...

Please sign up or login with your details

Forgot password? Click here to reset