2012 · 79 citations · 10 references
ComputingComputer ScienceComputer SystemsData MiningOperating SystemsSoftware EngineeringAnomaly DetectionDefect DetectionError DetectionFault DetectionSoftware MaintenanceStatic Code AnalysisAutomated Bug FindingStatic Bug Detection
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 Make files. 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 Make files. 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.
10
Feature consistency in compile-time-configurable system software
Reinhard Tartler, Daniel Lohmann, Julio Sincero et al. · 2011 · 190 citations
The Variability Model of The Linux Kernel.
Steven She, Rafael Lotufo, Thorsten Berger et al. · Variability Modelling of Software-Intensive Systems · 2010 · 103 citations
The Evolution of the Linux Build System
Bram Adams, Kris De Schutter, Herman Tromp et al. · VUBIR (Vrije Universiteit Brussel) · 2024 · 83 citations · Full text