Make it or break it: Mining anomalies from Linux Kbuild

Sarah Nadi, Ric Holt

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

Abstract

The Linux kernel has long been an interesting subject of study in terms of its source code. Recently, it has also been studied in terms of its variability since the Linux kernel can be configured to include or omit certain features according to the user's selection. These features are defined in the Kconfig files included in the Linux kernel code. Several articles study both the source code and Kconfig files to ensure variability is correctly implemented and to detect anomalies. However, these studies ignore the Make files which are another important component that controls the variability of the Linux kernel. The Make files are responsible for specifying what actually gets compiled and built into the final kernel. With over 1,300 Make files, more than 35,000 source code files, and over 10,000 Kconfig features, inconsistencies and anomalies are inevitable. In this paper, we explore the Linux's Make files (Kbuild) to detect anomalies. We develop three rules to identify anomalies in the Make files. Using these rules, we detect 89 anomalies in the latest release of the Linux kernel (2.6.38.6). We also perform a longitudinal analysis to study the evolution of Kbuild anomalies over time, and the solutions implemented to correct them. Our results show that many of the anomalies we detect are eventually corrected in future releases. This work is a first attempt at exploring the consistency of the variability implemented in Kbuild with the rest of the kernel. Such work opens the door for automatic anomaly detection in build systems which can save developers time in the future.

Original languageEnglish (US)
Title of host publicationProceedings - 18th Working Conference on Reverse Engineering, WCRE 2011
Pages315-324
Number of pages10
DOIs
StatePublished - 2011
Event18th Working Conference on Reverse Engineering, WCRE 2011 - Limerick, Ireland
Duration: Oct 17 2011Oct 20 2011

Publication series

NameProceedings - Working Conference on Reverse Engineering, WCRE
ISSN (Print)1095-1350

Conference

Conference18th Working Conference on Reverse Engineering, WCRE 2011
Country/TerritoryIreland
CityLimerick
Period10/17/1110/20/11

Keywords

  • Build Systems
  • Kbuild
  • Mining software repositories
  • Variability

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Make it or break it: Mining anomalies from Linux Kbuild'. Together they form a unique fingerprint.

Cite this