Kconfig metamodel: a first approach

David Romero-Organvídez, Pablo Neira, José Á. Galindo, David Benavides · 2024

Kconfig is the de facto configuration language for describing and configuring the variability of the Linux kernel. Nonetheless, it has been used since the early stages of kernel development. Moreover, Kconfig is also used as a niche configuration languages, such as microkernel compilation for air navigation systems, proprietary routers or embedded systems. In the last decade, the software product line (SPL) community worked intensively on observing Linux Kernel and Kconfig. However, the official documentation is difficult to understand, and the examples are long and challenging to synthesize for non-Kconfig experts, such as SPL engineers, and researchers. In this paper, we propose a Kconfig metamodel based on the documentation and the feedback of a kernel developer expert. Thanks to this metamodel, the design of transformations from Kconfig to other variability models such as UVL (Universal Variability Language) can be facilitated. To our knowledge, this is the first proposal for a metamodel of the Kconfig language. This opens the door to further research, such as Kconfig analysis and transformations, and leverage interoperability among the Kconfig toolchain and SPL tools.

Read the paper · More papers on PaperTik