A Demo of ConfigFix: Semantic Abstraction of Kconfig, SAT-based Configuration, and DIMACS Export
Paper i proceeding, 2025

The Linux kernel and its huge configuration space (>15,000 features) has been a frequent study object. While the research community has developed intelligent software configuration tools, often motivated by the Linux kernel and its configuration language Kconfig, the kernel's own configurator xconfig lacks behind. Configuration conflicts need to be resolved manually, which often causes substantial overhead. Unfortunately, Kconfig is a complex and intricate language, and while transformations into propositional logic exist, they typically have shortcomings and are difficult to integrate into xconfig. We contribute research results back to the Linux community and present a demo of ConfigFix. It is a plain-C-based extension of xconfig, providing the currently most accurate abstraction of the Kconfig semantics into propositional logic. It provides configuration conflict resolution. Integrated into the xconfig UI, it offers configuration fixes to users trying to enable or disable kernel features restricted by dependencies. In addition, researchers benefit from the DIMACS export. Our demo presents the main capabilities of xconfig as well as its evaluation showing the accuracy of it.

Linux Kernel

SAT solving

configuration

configuration conflicts

Författare

Jude Gyimah

Ruhr-Universität Bochum

Jan Sollmann

Ruhr-Universität Bochum

Ole Schuerks

Ruhr-Universität Bochum

Patrick Franz

Thorsten Berger

Ruhr-Universität Bochum

Chalmers, Data- och informationsteknik, Interaktionsdesign och Software Engineering

Proceedings 19th International Working Conference on Variability Modelling of Software Intensive Systems Vamos 2025

91-96
9798400714412 (ISBN)

19th International Working Conference on Variability Modelling of Software-Intensive Systems, VaMoS 2025
Rennes, France,

Ämneskategorier (SSIF 2025)

Datavetenskap (datalogi)

DOI

10.1145/3715340.3715445

Mer information

Senast uppdaterat

2025-08-01