Scalable Sampling of Highly-Configurable Systems: Generating Random Instances of the Linux Kernel

Activity: Talk or presentationContributed talkscience-to-science

Description

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.
Period12 Oct 2022
Event title37th International Conference on Automated Software Engineering (ASE) Rochester, MI, USA
Event typeConference
LocationAustriaShow on map

Fields of science

  • 102 Computer Sciences
  • 102022 Software development

JKU Focus areas

  • Digital Transformation