DocumentCode
1683225
Title
Mining Kbuild to Detect Variability Anomalies in Linux
Author
Nadi, Sarah ; Holt, Ric
Author_Institution
David R. Cheriton Sch. of Comput. Sci., Univ. of Waterloo, Waterloo, ON, Canada
fYear
2012
Firstpage
107
Lastpage
116
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 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.
Keywords
Linux; data flow analysis; data mining; operating system kernels; security of data; software maintenance; Kbuild mining; Linux kernel; variability anomaly detection; Buildings; Feature extraction; Kernel; Linux; Maintenance engineering; Reliability; Universal Serial Bus; Build Systems; Kbuild; Mining software repositories; Variability;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Maintenance and Reengineering (CSMR), 2012 16th European Conference on
Conference_Location
Szeged
ISSN
1534-5351
Print_ISBN
978-1-4673-0984-4
Type
conf
DOI
10.1109/CSMR.2012.21
Filename
6178858
Link To Document