Support for Reverse Engineering and Maintaining Feature Models

by Mathieu Acher, Patrick Heymans, Anthony Cleve, Jean-Luc Hainaut, Benoit Baudry
Abstract:
Feature Models (FMs) are a popular formalism for modelling and reasoning about commonality and variability of a system. In essence, FMs aim to define a set of valid combinations of features, also called configurations. In this paper, we tackle the problem of synthesising an FM from a set of configurations. The main challenge is that numerous candidate FMs can be extracted from the same input configurations, yet only a few of them are meaningful and maintainable. We first characterise the different meanings of FMs and identify the key properties allowing to discriminate between them. We then develop a generic synthesis procedure capable of restituting the intended meanings of FMs based on inferred or user-specified knowledge. Using tool support, we show how the integration of knowledge into FM synthesis can be realized in different practical application scenarios that involve reverse engineering and maintaining FMs.
Reference:
Support for Reverse Engineering and Maintaining Feature Models (Mathieu Acher, Patrick Heymans, Anthony Cleve, Jean-Luc Hainaut, Benoit Baudry), In VaMoS’13 – Seventh International Workshop on Variability Modelling of Software-Intensive Systems, ACM, 2013.
Bibtex Entry:
@inproceedings{acher13,
 keywords = {SPL},
    hal_id = {hal-00766786},
    url = {http://hal.inria.fr/hal-00766786},
    title = {{Support for Reverse Engineering and Maintaining Feature Models}},
    author = {Acher, Mathieu and Heymans, Patrick and Cleve, Anthony and Hainaut, Jean-Luc and Baudry, Benoit},
    abstract = {{Feature Models (FMs) are a popular formalism for modelling and reasoning about commonality and variability of a system. In essence, FMs aim to define a set of valid combinations of features, also called configurations. In this paper, we tackle the problem of synthesising an FM from a set of configurations. The main challenge is that numerous candidate FMs can be extracted from the same input configurations, yet only a few of them are meaningful and maintainable. We first characterise the different meanings of FMs and identify the key properties allowing to discriminate between them. We then develop a generic synthesis procedure capable of restituting the intended meanings of FMs based on inferred or user-specified knowledge. Using tool support, we show how the integration of knowledge into FM synthesis can be realized in different practical application scenarios that involve reverse engineering and maintaining FMs.}},
    keywords = {variability; reverse engineering ; model synthesis ; software product line ; model management ; maintenance},
    booktitle = {{VaMoS'13 - Seventh International Workshop on Variability Modelling of Software-Intensive Systems}},
    publisher = {ACM},
    address = {Pisa, Italy},
    year = {2013},
  	X-International-Audience = {yes},
  	X-Language = {EN},
  	x-abbrv = {VAMOS},
    month = Jan,
    pdf = {http://hal.inria.fr/hal-00766786/PDF/KSynthesis-VaMoS2013-CR.pdf},
}