Towards Scalable Configuration Testing in Variable Software

Research output: Chapter in book/report/conference proceedingConference contributionResearchpeer review

Authors

  • Valentin Rothberg
  • Christian Dietrich
  • Andreas Ziegler
  • Daniel Lohmann

External Research Organisations

  • Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU Erlangen-Nürnberg)
View graph of relations

Details

Original languageEnglish
Title of host publicationGPCE 2016
Subtitle of host publicationProceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences
Pages156-167
Number of pages12
Volume52
Edition3
ISBN (electronic)978-1-4503-4446-3
Publication statusPublished - 20 Oct 2016
Externally publishedYes
Event15th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2016 - Amsterdam, Netherlands
Duration: 31 Oct 20161 Nov 2016

Publication series

NameACM SIGPLAN Notices
PublisherAssociation for Computing Machinery (ACM)
ISSN (Print)0362-1340

Abstract

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.

Keywords

    Configurability, Linux, Sampling, Software product lines, Software testing, Software Testing, Software Product Lines

ASJC Scopus subject areas

Cite this

Towards Scalable Configuration Testing in Variable Software. / Rothberg, Valentin; Dietrich, Christian; Ziegler, Andreas et al.
GPCE 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences. Vol. 52 3. ed. 2016. p. 156-167 (ACM SIGPLAN Notices).

Research output: Chapter in book/report/conference proceedingConference contributionResearchpeer review

Rothberg, V, Dietrich, C, Ziegler, A & Lohmann, D 2016, Towards Scalable Configuration Testing in Variable Software. in GPCE 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences. 3 edn, vol. 52, ACM SIGPLAN Notices, pp. 156-167, 15th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2016, Amsterdam, Netherlands, 31 Oct 2016. https://doi.org/10.1145/2993236.2993252
Rothberg, V., Dietrich, C., Ziegler, A., & Lohmann, D. (2016). Towards Scalable Configuration Testing in Variable Software. In GPCE 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (3 ed., Vol. 52, pp. 156-167). (ACM SIGPLAN Notices). https://doi.org/10.1145/2993236.2993252
Rothberg V, Dietrich C, Ziegler A, Lohmann D. Towards Scalable Configuration Testing in Variable Software. In GPCE 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences. 3 ed. Vol. 52. 2016. p. 156-167. (ACM SIGPLAN Notices). doi: 10.1145/2993236.2993252
Rothberg, Valentin ; Dietrich, Christian ; Ziegler, Andreas et al. / Towards Scalable Configuration Testing in Variable Software. GPCE 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences. Vol. 52 3. ed. 2016. pp. 156-167 (ACM SIGPLAN Notices).
Download
@inproceedings{cae2c28e4c084b26ada5c8ab3a27f7e0,
title = "Towards Scalable Configuration Testing in Variable Software",
abstract = "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.",
keywords = "Configurability, Linux, Sampling, Software product lines, Software testing, Software Testing, Software Product Lines",
author = "Valentin Rothberg and Christian Dietrich and Andreas Ziegler and Daniel Lohmann",
year = "2016",
month = oct,
day = "20",
doi = "10.1145/2993236.2993252",
language = "English",
volume = "52",
series = "ACM SIGPLAN Notices",
publisher = "Association for Computing Machinery (ACM)",
pages = "156--167",
booktitle = "GPCE 2016",
edition = "3",
note = "15th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2016 ; Conference date: 31-10-2016 Through 01-11-2016",

}

Download

TY - GEN

T1 - Towards Scalable Configuration Testing in Variable Software

AU - Rothberg, Valentin

AU - Dietrich, Christian

AU - Ziegler, Andreas

AU - Lohmann, Daniel

PY - 2016/10/20

Y1 - 2016/10/20

N2 - 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.

AB - 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.

KW - Configurability

KW - Linux

KW - Sampling

KW - Software product lines

KW - Software testing

KW - Software Testing

KW - Software Product Lines

UR - http://www.scopus.com/inward/record.url?scp=85006736189&partnerID=8YFLogxK

U2 - 10.1145/2993236.2993252

DO - 10.1145/2993236.2993252

M3 - Conference contribution

VL - 52

T3 - ACM SIGPLAN Notices

SP - 156

EP - 167

BT - GPCE 2016

T2 - 15th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2016

Y2 - 31 October 2016 through 1 November 2016

ER -