ConfigFix: Interactive configuration conflict resolution for the linux kernel

Patrick Franz, Thorsten Berger, Ibrahim Fayaz, Sarah Nadi, Evgeny Groshev

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Highly configurable systems are highly complex systems. The Linux kernel is arguably one of the most well-known examples. Given its vast configuration space, researchers have used it to conduct many empirical studies as well as to build dedicated methods and tools for analyzing, configuring, testing, optimizing, and maintaining the kernel. However, despite a large body of work, mainly bug fixes that were the result of such research made it back into the kernel's source tree. Unfortunately, Linux users still struggle with kernel configuration and resolving configuration conflicts, since the kernel largely lacks automated support. Additionally, there are technical and community requirements for supporting automated conflict resolution in the kernel, for example, using a pure C-based solution that uses only compatible third-party libraries (if any). With the aim of contributing back to the Linux community, we present ConfigFix, a tooling that we integrated with the Linux kernel configurator, that is purely implemented in C, and that is finally a working solution able to produce fixes for configuration conflicts. We describe our experiences of building upon the large body of research done on the kernel configuration mechanisms as well as how we designed and realized ConfigFix while adhering to the Linux kernel's community requirements and standards. ConfigFix not only helps Linux kernel users obtain their desired configuration, but our implemented semantic abstraction provides the basis for many of the above techniques supporting kernel configuration.

Original languageEnglish (US)
Title of host publicationProceedings - 2021 IEEE/ACM 43rd International Conference on Software Engineering
Subtitle of host publicationSoftware Engineering in Practice, ICSE-SEIP 2021
PublisherIEEE Computer Society
Pages91-100
Number of pages10
ISBN (Electronic)9780738146690
DOIs
StatePublished - May 2021
Event43rd IEEE/ACM International Conference on Software Engineering: Software Engineering in Practice, ICSE-SEIP 2021 - Virtual, Online, Spain
Duration: May 25 2021May 28 2021

Publication series

NameProceedings - International Conference on Software Engineering
ISSN (Print)0270-5257

Conference

Conference43rd IEEE/ACM International Conference on Software Engineering: Software Engineering in Practice, ICSE-SEIP 2021
Country/TerritorySpain
CityVirtual, Online
Period5/25/215/28/21

Keywords

  • Conflict resolution
  • Linux kernel
  • Semantic abstraction
  • Software configuration

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'ConfigFix: Interactive configuration conflict resolution for the linux kernel'. Together they form a unique fingerprint.

Cite this