kirancodes.me
To Proof Maintenance & Beyond!

On essential configuration complexity: measuring interactions in highly-configurable systems

Jens Meinicke, Chu-Pan Wong, Christian Kästner, Thomas Thüm, Gunter Saake

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.

BibTeX
@inproceedings{Meinicke-al:ASE16,
  author    = {Jens Meinicke and
               Chu{-}Pan Wong and
               Christian K{\"{a}}stner and
               Thomas Th{\"{u}}m and
               Gunter Saake},
  title     = {On essential configuration complexity: measuring interactions in highly-configurable systems},
  booktitle = {ASE},
  pages     = {483--494},
  publisher = {{ACM}},
  year      = {2016},
}

Related papers