Mining Kbuild to detect variability anomalies in Linux

Sarah Nadi, Ric Holt

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

Abstract

The Linux kernel is extensively specialized or configured so that it can be used for many purposes. This variability is implemented by means of three distinct artifacts: source code files, Kconfig (configuration) files, and Makefiles. Any inconsistencies between these three can lead to undesirable anomalies which can lead to increased maintenance efforts or decreased reliability. This paper extends published work that had found anomalies (dead and undead code blocks) by concentrating largely on code and Kconfig files. We detect further anomalies in the Linux kernel when we also consider the Makefiles. At the level of code blocks, our work exposes many additional anomalies -more than we could study manually. We found that when we lift the level from code blocks to code files, the detected anomalies became easier to study and understand and thus more useful to the developer. By means of examples, we illustrate how the anomalies we detect can lead to undesired behavior. We show how, over time, developers tend to find and delete such anomalies. We suggest that automatic detection of such anomalies has the potential to decrease maintenance efforts and increase reliability.

Original languageEnglish (US)
Title of host publicationProceedings - 2012 16th European Conference on Software Maintenance and Reengineering, CSMR 2012
Pages107-116
Number of pages10
DOIs
StatePublished - 2012
Event2012 16th European Conference on Software Maintenance and Reengineering, CSMR 2012 - Szeged, Hungary
Duration: Mar 27 2012Mar 30 2012

Publication series

NameProceedings of the European Conference on Software Maintenance and Reengineering, CSMR
ISSN (Print)1534-5351

Conference

Conference2012 16th European Conference on Software Maintenance and Reengineering, CSMR 2012
Country/TerritoryHungary
CitySzeged
Period3/27/123/30/12

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Mining Kbuild to detect variability anomalies in Linux'. Together they form a unique fingerprint.

Cite this