TY - GEN
T1 - VarXplorer
T2 - 12th International Workshop on Variability Modelling of Software-Intensive Systems, VaMoS 2018
AU - Soares, Larissa Rocha
AU - Meinicke, Jens
AU - Nadi, Sarah
AU - Kästner, Christian
AU - De Almeida, Eduardo Santana
N1 - Publisher Copyright:
© 2018 Association for Computing Machinery.
PY - 2018/2/7
Y1 - 2018/2/7
N2 - Features in highly configurable systems can interact in undesired ways which may result in faults. However, most interactions are not easily detectable as specifications of feature interactions are usually missing. In this paper, we aim to detect interactions and to help create feature-interaction specifications. We use variational execution to observe internal interactions on control and data flow of highly configurable systems. The number of potential interactions can be large and hard to understand, especially as many interactions are benign. To help developers understand these interactions, we propose feature-interaction graphs as a concise representation of all pairwise interactions. We provide two analyses that provide additional details about interactions, namely suppress and require interactions. Finally, we propose a specification language that enables developers to define different kinds of allowed and forbidden interactions, which help to detect interaction faults. Our tool, VarXplorer, provides a visualization of feature-interaction graphs and supports the creation of feature interaction specifications. VarXplorer also provides an iterative analysis of feature interactions allowing developers to focus on suspicious cases.
AB - Features in highly configurable systems can interact in undesired ways which may result in faults. However, most interactions are not easily detectable as specifications of feature interactions are usually missing. In this paper, we aim to detect interactions and to help create feature-interaction specifications. We use variational execution to observe internal interactions on control and data flow of highly configurable systems. The number of potential interactions can be large and hard to understand, especially as many interactions are benign. To help developers understand these interactions, we propose feature-interaction graphs as a concise representation of all pairwise interactions. We provide two analyses that provide additional details about interactions, namely suppress and require interactions. Finally, we propose a specification language that enables developers to define different kinds of allowed and forbidden interactions, which help to detect interaction faults. Our tool, VarXplorer, provides a visualization of feature-interaction graphs and supports the creation of feature interaction specifications. VarXplorer also provides an iterative analysis of feature interactions allowing developers to focus on suspicious cases.
KW - Configurable software
KW - Feature interaction
KW - Feature interaction specification
KW - Variability-aware execution
UR - http://www.scopus.com/inward/record.url?scp=85044347356&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85044347356&partnerID=8YFLogxK
U2 - 10.1145/3168365.3168376
DO - 10.1145/3168365.3168376
M3 - Conference contribution
AN - SCOPUS:85044347356
T3 - ACM International Conference Proceeding Series
SP - 59
EP - 66
BT - Proceedings - VaMoS 2018
A2 - Lochau, Malte
A2 - Capilla, Rafael
PB - Association for Computing Machinery
Y2 - 7 February 2018 through 9 February 2018
ER -