Visible to the public On Essential Configuration Complexity: Measuring Interactions in Highly-configurable Systems

TitleOn Essential Configuration Complexity: Measuring Interactions in Highly-configurable Systems
Publication TypeConference Paper
Year of Publication2016
AuthorsMeinicke, Jens, Wong, Chu-Pan, Kästner, Christian, Thüm, Thomas, Saake, Gunter
Conference NameProceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering
PublisherACM
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-3845-5
Keywordscomposability, Configurable Software, Dynamical Systems, Feature Interaction, Metrics, pubcrawl, Resiliency, security scalability, Variability-Aware Execution
Abstract

Quality assurance for highly-configurable systems is challenging due to the exponentially growing configuration space. Interactions among multiple options can lead to surprising behaviors, bugs, and security vulnerabilities. Analyzing all configurations systematically might be possible though if most options do not interact or interactions follow specific patterns that can be exploited by analysis tools. To better understand interactions in practice, we analyze program traces to characterize and identify where interactions occur on control flow and data. To this end, we developed a dynamic analysis for Java based on variability-aware execution and monitor executions of multiple small to medium-sized programs. We find that the essential configuration complexity of these programs is indeed much lower than the combinatorial explosion of the configuration space indicates. However, we also discover that the interaction characteristics that allow scalable and complete analyses are more nuanced than what is exploited by existing state-of-the-art quality assurance strategies.

URLhttp://doi.acm.org/10.1145/2970276.2970322
DOI10.1145/2970276.2970322
Citation Keymeinicke_essential_2016