Learning From Thousands of Build Failures of Linux Kernel Configurations

Abstract : The Linux kernel offers more than ten thousands configuration options that can be combined to build an almost infinite number of kernel variants. Developers and contributors spend significant effort and computational resources to continuously track and hopefully fix configurations that lead to build failures. In this experience paper, we report on our endeavor to develop an infrastructure, called TuxML, able to build any kernel configuration and learn what could explain or even prevent configurations' failures. Our results over 95,000+ configurations show that TuxML can accurately cluster 3,600+ failures, automatically trace the responsible configuration options, and learn by itself to avoid unnecessary and costly builds. Our large qualitative and quantitative analysis reveals insights about Linux itself (e.g., we only found 16 configuration bugs) and the difficulty to engineer a build infrastructure for configurable systems (e.g., a false positive failure may mask true configuration bugs).
Document type :
Reports
Complete list of metadatas

https://hal.inria.fr/hal-02147012
Contributor : Mathieu Acher <>
Submitted on : Tuesday, June 4, 2019 - 4:07:52 PM
Last modification on : Friday, June 7, 2019 - 1:36:36 AM

File

LinuxCompilation_BuildFailures...
Files produced by the author(s)

Identifiers

  • HAL Id : hal-02147012, version 2

Citation

Mathieu Acher, Hugo Martin, Juliana Alves Pereira, Arnaud Blouin, Djamel Eddine Khelladi, et al.. Learning From Thousands of Build Failures of Linux Kernel Configurations. [Technical Report] Inria; IRISA. 2019, pp.1-12. ⟨hal-02147012v2⟩

Share

Metrics

Record views

57

Files downloads

388