by David Fernández-Amorós, Ruben Heradio, Christoph Mayr-Dorn, Alexander Egyed
Abstract:
Software systems are becoming increasingly configurable. A paradigmatic example is the Linux kernel, which can be adjusted for a tremendous variety of hardware devices, from mobile phones to supercomputers, thanks to the thousands of configurable features it supports. In principle, many relevant problems on configurable systems, such as completing a partial configuration to get the system instance that consumes the least energy or optimizes any other quality attribute, could be solved through exhaustive analysis of all configurations. However, configuration spaces are typically colossal and cannot be entirely computed in practice. Alternatively, configuration samples can be analyzed to approximate the answers. Generating those samples is not trivial since features usually have inter-dependencies that constrain the configuration space. Therefore, getting a single valid configuration by chance is extremely unlikely. As a result, advanced samplers are being proposed to generate random samples at a reasonable computational cost. However, to date, no sampler can deal with highly configurable complex systems, such as the Linux kernel. This paper proposes a new sampler that does scale for those systems, based on an original theoretical approach called extensible logic groups. The sampler is compared against five other approaches. Results show our tool to be the fastest and most scalable one.
Reference:
Scalable Sampling of Highly-Configurable Systems: Generating Random Instances of the Linux Kernel (David Fernández-Amorós, Ruben Heradio, Christoph Mayr-Dorn, Alexander Egyed), In 37th IEEE/ACM International Conference on Automated Software Engineering (ASE), Rochester, MI, USA, ACM, 2022.
Bibtex Entry:
@Conference{DBLP:conf/kbse/Fernandez-Amoros22,
author = {David Fernández-Amorós and Ruben Heradio and Christoph Mayr-Dorn and Alexander Egyed},
booktitle = {37th IEEE/ACM International Conference on Automated Software Engineering (ASE), Rochester, MI, USA},
title = {Scalable Sampling of Highly-Configurable Systems: Generating Random Instances of the Linux Kernel},
year = {2022},
pages = {89:1--89:12},
publisher = {{ACM}},
abstract = {Software systems are becoming increasingly configurable. A paradigmatic example is the Linux kernel, which can be adjusted for a tremendous variety of hardware devices, from mobile phones to supercomputers, thanks to the thousands of configurable features it supports. In principle, many relevant problems on configurable systems, such as completing a partial configuration to get the system instance that consumes the least energy or optimizes any other quality attribute, could be solved through exhaustive analysis of all configurations. However, configuration spaces are typically colossal and cannot be entirely computed in practice. Alternatively, configuration samples can be analyzed to approximate the answers. Generating those samples is not trivial since features usually have inter-dependencies that constrain the configuration space. Therefore, getting a single valid configuration by chance is extremely unlikely. As a result, advanced samplers are being proposed to generate random samples at a reasonable computational cost. However, to date, no sampler can deal with highly configurable complex systems, such as the Linux kernel. This paper proposes a new sampler that does scale for those systems, based on an original theoretical approach called extensible logic groups. The sampler is compared against five other approaches. Results show our tool to be the fastest and most scalable one.},
bdsk-url-1 = {https://doi.org/10.1145/3551349.3556899},
doi = {10.1145/3551349.3556899},
url = {https://dl.acm.org/doi/10.1145/3551349.3556899},
}