Linux Variability Anomalies: What Causes Them and How Do They Get Fixed?

Research output: Chapter in book/report/conference proceedingConference contributionResearchpeer review

Authors

  • Sarah Nadi
  • Christian Dietrich
  • Reinhard Tartler
  • Richard C. Holt
  • Daniel Lohmann

External Research Organisations

  • University of Waterloo
  • Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU Erlangen-Nürnberg)
View graph of relations

Details

Original languageEnglish
Title of host publicationMSR 2013 - 10th Working Conference on Mining Software Repositories
Pages111-120
Number of pages10
Publication statusPublished - 10 Oct 2013
Externally publishedYes
Event10th International Working Conference on Mining Software Repositories, MSR 2013 - San Francisco, CA, United States
Duration: 18 May 201319 May 2013

Publication series

NameIEEE 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

Cite this

Linux Variability Anomalies: What Causes Them and How Do They Get Fixed? / Nadi, Sarah; Dietrich, Christian; Tartler, Reinhard et al.
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 proceedingConference contributionResearchpeer review

Nadi, S, Dietrich, C, Tartler, R, Holt, RC & Lohmann, D 2013, Linux Variability Anomalies: What Causes Them and How Do They Get Fixed? in MSR 2013 - 10th Working Conference on Mining Software Repositories. IEEE International Working Conference on Mining Software Repositories, pp. 111-120, 10th International Working Conference on Mining Software Repositories, MSR 2013, San Francisco, CA, United States, 18 May 2013. https://doi.org/10.1109/MSR.2013.6624017
Nadi, S., Dietrich, C., Tartler, R., Holt, R. C., & Lohmann, D. (2013). Linux Variability Anomalies: What Causes Them and How Do They Get Fixed? In MSR 2013 - 10th Working Conference on Mining Software Repositories (pp. 111-120). (IEEE International Working Conference on Mining Software Repositories). https://doi.org/10.1109/MSR.2013.6624017
Nadi S, Dietrich C, Tartler R, Holt RC, Lohmann D. Linux Variability Anomalies: What Causes Them and How Do They Get Fixed? In MSR 2013 - 10th Working Conference on Mining Software Repositories. 2013. p. 111-120. (IEEE International Working Conference on Mining Software Repositories). doi: 10.1109/MSR.2013.6624017
Nadi, Sarah ; Dietrich, Christian ; Tartler, Reinhard et al. / Linux Variability Anomalies: What Causes Them and How Do They Get Fixed?. MSR 2013 - 10th Working Conference on Mining Software Repositories. 2013. pp. 111-120 (IEEE International Working Conference on Mining Software Repositories).
Download
@inproceedings{4fbe30d4b4d048a6bfb6659072784cc9,
title = "Linux Variability Anomalies:: What Causes Them and How Do They Get Fixed?",
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",
author = "Sarah Nadi and Christian Dietrich and Reinhard Tartler and Holt, {Richard C.} and Daniel Lohmann",
year = "2013",
month = oct,
day = "10",
doi = "10.1109/MSR.2013.6624017",
language = "English",
isbn = "9781467329361",
series = "IEEE International Working Conference on Mining Software Repositories",
pages = "111--120",
booktitle = "MSR 2013 - 10th Working Conference on Mining Software Repositories",
note = "10th International Working Conference on Mining Software Repositories, MSR 2013 ; Conference date: 18-05-2013 Through 19-05-2013",

}

Download

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 -