by Stefan Fischer, Lukas Linsbauer, Roberto E. Lopez-Herrejon, Alexander Egyed
Abstract:
Robust and effective support for the detection and management of features and their interactions is crucial for many software development tasks but has proven to be an elusive goal despite the extensive research and practice on the subject. Providing the required support becomes even more challenging with variable software whereby multiple variants of a system and their features must be collectively considered. An important premise to provide better support for feature interactions in variable systems is the need of a deeper understanding on how features interact at different levels starting from the source level. In this context, recent work has looked at feature interactions from different angles and for different purposes, for instance for developing performance models, extracting interfaces for maintenance or describing feature evolution patterns. However, there is a gap in understanding how features interact in fact at the source level in contrast with how features ought to interact according to variability models that describe the valid combinations of features in variable software systems. In this paper we perform an empirical study to explore this gap. We use seven case studies, implemented in Java and C, totalling over nine million LoC, and analysed over seven thousand feature interactions. Our study revealed important inconsistencies between how feature interactions occur at source level and how they are modeled, and corroborated that the majority of source level interactions involve less than three features. We discuss the implications of our findings and avenues for further research.
Reference:
A Source Level Empirical Study of Features and Their Interactions in Variable Software (Stefan Fischer, Lukas Linsbauer, Roberto E. Lopez-Herrejon, Alexander Egyed), In 16th International Working Conference on Source Code Analysis and Manipulation, SCAM 2016, Raleigh, NC, USA, October 2-3, 2016, 2016.
Bibtex Entry:
@Conference{DBLP:conf/scam/0006LLE16,
author = {Stefan Fischer and Lukas Linsbauer and Roberto E. Lopez-Herrejon and Alexander Egyed},
title = {A Source Level Empirical Study of Features and Their Interactions in Variable Software},
booktitle = {16th International Working Conference on Source Code Analysis and Manipulation, SCAM 2016, Raleigh, NC, USA, October 2-3, 2016},
year = {2016},
pages = {197--206},
abstract = {Robust and effective support for the detection and management of features
and their interactions is crucial for many software development tasks
but has proven to be an elusive goal despite the extensive research
and practice on the subject. Providing the required support becomes
even more challenging with variable software whereby multiple variants
of a system and their features must be collectively considered. An
important premise to provide better support for feature interactions
in variable systems is the need of a deeper understanding on how
features interact at different levels starting from the source level.
In this context, recent work has looked at feature interactions from
different angles and for different purposes, for instance for developing
performance models, extracting interfaces for maintenance or describing
feature evolution patterns. However, there is a gap in understanding
how features interact in fact at the source level in contrast with
how features ought to interact according to variability models that
describe the valid combinations of features in variable software
systems. In this paper we perform an empirical study to explore this
gap. We use seven case studies, implemented in Java and C, totalling
over nine million LoC, and analysed over seven thousand feature interactions.
Our study revealed important inconsistencies between how feature
interactions occur at source level and how they are modeled, and
corroborated that the majority of source level interactions involve
less than three features. We discuss the implications of our findings
and avenues for further research.},
bibsource = {dblp computer science bibliography, http://dblp.org},
biburl = {http://dblp.uni-trier.de/rec/bib/conf/scam/0006LLE16},
doi = {10.1109/SCAM.2016.16},
file = {:Conferences\\SCAM 2016 - A Source Level Empirical Study of Features and Their Interactions in Variable Software\\A Source Level Empirical Study of Features and Their Interactions in Variable Software-preprint.pdf:PDF},
keywords = {FWF P25289, FWF P25513},
timestamp = {Tue, 20 Dec 2016 14:41:08 +0100},
url = {http://doi.ieeecomputersociety.org/10.1109/SCAM.2016.16},
}