Visible to the public Towards Scalable Configuration Testing in Variable Software

TitleTowards Scalable Configuration Testing in Variable Software
Publication TypeConference Paper
Year of Publication2016
AuthorsRothberg, Valentin, Dietrich, Christian, Ziegler, Andreas, Lohmann, Daniel
Conference NameProceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-4446-3
Keywordscompositionality, Configurability, Linux, Metrics, pubcrawl, Resiliency, sampling, Scalability, scalable verification, software product lines, Software Testing

Testing a software product line such as Linux implies building the source with different configurations. Manual approaches to generate configurations that enable code of interest are doomed to fail due to the high amount of variation points distributed over the feature model, the build system and the source code. Research has proposed various approaches to generate covering configurations, but the algorithms show many drawbacks related to run-time, exhaustiveness and the amount of generated configurations. Hence, analyzing an entire Linux source can yield more than 30 thousand configurations and thereby exceeds the limited budget and resources for build testing. In this paper, we present an approach to fill the gap between a systematic generation of configurations and the necessity to fully build software in order to test it. By merging previously generated configurations, we reduce the number of necessary builds and enable global variability-aware testing. We reduce the problem of merging configurations to finding maximum cliques in a graph. We evaluate the approach on the Linux kernel, compare the results to common practices in industry, and show that our implementation scales even when facing graphs with millions of edges.

Citation Keyrothberg_towards_2016