VarXplorer: Lightweight Process for Dynamic Inspection of Feature Interactions

kaestner@cs.cmu.edu (L. Soares, J. Meinicke, S. Nadi, C. Kästner, E. de Almeida)
Fri, 09 Feb 2018 09:07:32 -0500

Larissa Rocha Soares, Jens Meinicke, Sarah Nadi, Christian Kästner, and Eduardo Santana de Almeida. VarXplorer: Lightweight Process for Dynamic Inspection of Feature Interactions. In Proceedings of the 12nd Int'l Workshop on Variability Modelling of Software-Intensive Systems (VaMoS), pages 59--66, 2018.

Features in highly configurable systems can interact in undesiredways which may result in faults. However, most interactions arenot easily detectable as specifications of feature interactions areusually missing. In this paper, we aim to detect interactions and tohelp create feature-interaction specifications. We use variational ex-ecution to observe internal interactions on control and data flow ofhighly configurable systems. The number of potential interactionscan be large and hard to understand, especially as many interac-tions are benign. To help developers understand these interactions,we propose feature-interaction graphs as a concise representationof all pairwise interactions. We provide two analyses that reportsuspicious interactions, namely suppress and require interactionsFinally, we propose a specification language that enables develop-ers to define different kinds of allowed and forbidden interactions.Our tool, VarXplorer, provides a visualization of feature-interactiongraphs and supports the creation of feature interaction specifi-cations. VarXplorer also provides an iterative analysis of featureinteractions allowing developers to focus on suspicious cases.