Details
Original language | English |
---|---|
Title of host publication | MSR 2013 - 10th Working Conference on Mining Software Repositories |
Pages | 111-120 |
Number of pages | 10 |
Publication status | Published - 10 Oct 2013 |
Externally published | Yes |
Event | 10th International Working Conference on Mining Software Repositories, MSR 2013 - San Francisco, CA, United States Duration: 18 May 2013 → 19 May 2013 |
Publication series
Name | IEEE International Working Conference on Mining Software Repositories |
---|---|
ISSN (Print) | 2160-1852 |
ISSN (electronic) | 2160-1860 |
Abstract
The Linux kernel is one of the largest configurable open source software systems implementing static variability. In Linux, variability is scattered over three different artifacts: source code files, KCONFIG files, and Makefiles. Previous work detected inconsistencies between these artifacts that led to anomalies in the intended variability of Linux. We call these variability anomalies. However, there has been no work done to analyze how these variability anomalies are introduced in the first place, and how they get fixed. In this work, we provide an analysis of the causes and fixes of variability anomalies in Linux. We first perform an exploratory case study that uses an existing set of patches which solve variability anomalies to identify patterns for their causes. The observations we make from this dataset allow us to develop four research questions which we then answer in a confirmatory case study on the scope of the whole Linux kernel. We show that variability anomalies exist for several releases in the kernel before they get fixed, and that contrary to our initial suspicion, typos in feature names do not commonly cause these anomalies. Our results show that variability anomalies are often introduced through incomplete patches that change KCONFIG definitions without properly propagating these changes to the rest of the system. Anomalies are then commonly fixed through changes to the code rather than to KCONFIG files.
Keywords
- GIT, Linux, Mining software repositories, Software variability, Variability anomalies
ASJC Scopus subject areas
- Computer Science(all)
- Computer Science Applications
- Computer Science(all)
- Software
Cite this
- Standard
- Harvard
- Apa
- Vancouver
- BibTeX
- RIS
MSR 2013 - 10th Working Conference on Mining Software Repositories. 2013. p. 111-120 (IEEE International Working Conference on Mining Software Repositories).
Research output: Chapter in book/report/conference proceeding › Conference contribution › Research › peer review
}
TY - GEN
T1 - Linux Variability Anomalies:
T2 - 10th International Working Conference on Mining Software Repositories, MSR 2013
AU - Nadi, Sarah
AU - Dietrich, Christian
AU - Tartler, Reinhard
AU - Holt, Richard C.
AU - Lohmann, Daniel
PY - 2013/10/10
Y1 - 2013/10/10
N2 - The Linux kernel is one of the largest configurable open source software systems implementing static variability. In Linux, variability is scattered over three different artifacts: source code files, KCONFIG files, and Makefiles. Previous work detected inconsistencies between these artifacts that led to anomalies in the intended variability of Linux. We call these variability anomalies. However, there has been no work done to analyze how these variability anomalies are introduced in the first place, and how they get fixed. In this work, we provide an analysis of the causes and fixes of variability anomalies in Linux. We first perform an exploratory case study that uses an existing set of patches which solve variability anomalies to identify patterns for their causes. The observations we make from this dataset allow us to develop four research questions which we then answer in a confirmatory case study on the scope of the whole Linux kernel. We show that variability anomalies exist for several releases in the kernel before they get fixed, and that contrary to our initial suspicion, typos in feature names do not commonly cause these anomalies. Our results show that variability anomalies are often introduced through incomplete patches that change KCONFIG definitions without properly propagating these changes to the rest of the system. Anomalies are then commonly fixed through changes to the code rather than to KCONFIG files.
AB - The Linux kernel is one of the largest configurable open source software systems implementing static variability. In Linux, variability is scattered over three different artifacts: source code files, KCONFIG files, and Makefiles. Previous work detected inconsistencies between these artifacts that led to anomalies in the intended variability of Linux. We call these variability anomalies. However, there has been no work done to analyze how these variability anomalies are introduced in the first place, and how they get fixed. In this work, we provide an analysis of the causes and fixes of variability anomalies in Linux. We first perform an exploratory case study that uses an existing set of patches which solve variability anomalies to identify patterns for their causes. The observations we make from this dataset allow us to develop four research questions which we then answer in a confirmatory case study on the scope of the whole Linux kernel. We show that variability anomalies exist for several releases in the kernel before they get fixed, and that contrary to our initial suspicion, typos in feature names do not commonly cause these anomalies. Our results show that variability anomalies are often introduced through incomplete patches that change KCONFIG definitions without properly propagating these changes to the rest of the system. Anomalies are then commonly fixed through changes to the code rather than to KCONFIG files.
KW - GIT
KW - Linux
KW - Mining software repositories
KW - Software variability
KW - Variability anomalies
UR - http://www.scopus.com/inward/record.url?scp=84889014298&partnerID=8YFLogxK
U2 - 10.1109/MSR.2013.6624017
DO - 10.1109/MSR.2013.6624017
M3 - Conference contribution
AN - SCOPUS:84889014298
SN - 9781467329361
T3 - IEEE International Working Conference on Mining Software Repositories
SP - 111
EP - 120
BT - MSR 2013 - 10th Working Conference on Mining Software Repositories
Y2 - 18 May 2013 through 19 May 2013
ER -