Details
Original language | English |
---|---|
Title of host publication | GPCE 2016 |
Subtitle of host publication | Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences |
Pages | 156-167 |
Number of pages | 12 |
Volume | 52 |
Edition | 3 |
ISBN (electronic) | 978-1-4503-4446-3 |
Publication status | Published - 20 Oct 2016 |
Externally published | Yes |
Event | 15th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2016 - Amsterdam, Netherlands Duration: 31 Oct 2016 → 1 Nov 2016 |
Publication series
Name | ACM SIGPLAN Notices |
---|---|
Publisher | Association 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
- Computer Science(all)
- Software
- Computer Science(all)
- Information Systems
- Computer Science(all)
- Computer Science Applications
Cite this
- Standard
- Harvard
- Apa
- Vancouver
- BibTeX
- RIS
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 proceeding › Conference contribution › Research › peer review
}
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 -