A Robust Approach for Variability Extraction from the Linux Build System

Publikation: Beitrag in Buch/Bericht/Sammelwerk/KonferenzbandAufsatz in KonferenzbandForschungPeer-Review

Autoren

  • Christian Dietrich
  • Reinhard Tartler
  • Wolfgang Schröder-Preikschat
  • Daniel Lohmann

Externe Organisationen

  • Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU Erlangen-Nürnberg)
Forschungs-netzwerk anzeigen

Details

OriginalspracheEnglisch
Titel des SammelwerksSPLC '12: Proceedings of the 16th International Software Product Line Conference
Seiten21-30
Seitenumfang10
Band1
PublikationsstatusVeröffentlicht - Sept. 2012
Extern publiziertJa
Veranstaltung16th International Software Product Line Conference, SPLC 2012 - Salvador, Brasilien
Dauer: 2 Sept. 20127 Sept. 2012

Abstract

With more than 11,000 optional and alternative features, the Linux kernel is a highly configurable piece of software. Linux is generally perceived as a textbook example for preprocessor-based product derivation, but more than 65 percent of all features are actually handled by the build system. Hence, variability-aware static analysis tools have to take the build system into account. However, extracting variability information from the build system is difficult due to the declarative and turing-complete MAKE language. Existing approaches based on text processing do not cover this challenges and tend to be tailored to a specific Linux version and architecture. This renders them practically unusable as a basis for variability-aware tool support - Linux is a moving target! We describe a robust approach for extracting implementation variability from the Linux build system. Instead of extracting the variability information by a text-based analysis of all build scripts, our approach exploits the build system itself to produce this information. As our results show, our approach is robust and works for all versions and architectures from the (git-)history of Linux.

ASJC Scopus Sachgebiete

Zitieren

A Robust Approach for Variability Extraction from the Linux Build System. / Dietrich, Christian; Tartler, Reinhard; Schröder-Preikschat, Wolfgang et al.
SPLC '12: Proceedings of the 16th International Software Product Line Conference. Band 1 2012. S. 21-30.

Publikation: Beitrag in Buch/Bericht/Sammelwerk/KonferenzbandAufsatz in KonferenzbandForschungPeer-Review

Dietrich, C, Tartler, R, Schröder-Preikschat, W & Lohmann, D 2012, A Robust Approach for Variability Extraction from the Linux Build System. in SPLC '12: Proceedings of the 16th International Software Product Line Conference. Bd. 1, S. 21-30, 16th International Software Product Line Conference, SPLC 2012, Salvador, Brasilien, 2 Sept. 2012. https://doi.org/10.1145/2362536.2362544
Dietrich, C., Tartler, R., Schröder-Preikschat, W., & Lohmann, D. (2012). A Robust Approach for Variability Extraction from the Linux Build System. In SPLC '12: Proceedings of the 16th International Software Product Line Conference (Band 1, S. 21-30) https://doi.org/10.1145/2362536.2362544
Dietrich C, Tartler R, Schröder-Preikschat W, Lohmann D. A Robust Approach for Variability Extraction from the Linux Build System. in SPLC '12: Proceedings of the 16th International Software Product Line Conference. Band 1. 2012. S. 21-30 doi: 10.1145/2362536.2362544
Dietrich, Christian ; Tartler, Reinhard ; Schröder-Preikschat, Wolfgang et al. / A Robust Approach for Variability Extraction from the Linux Build System. SPLC '12: Proceedings of the 16th International Software Product Line Conference. Band 1 2012. S. 21-30
Download
@inproceedings{3fce823f9d3d4e5da1da3614f99e1251,
title = "A Robust Approach for Variability Extraction from the Linux Build System",
abstract = "With more than 11,000 optional and alternative features, the Linux kernel is a highly configurable piece of software. Linux is generally perceived as a textbook example for preprocessor-based product derivation, but more than 65 percent of all features are actually handled by the build system. Hence, variability-aware static analysis tools have to take the build system into account. However, extracting variability information from the build system is difficult due to the declarative and turing-complete MAKE language. Existing approaches based on text processing do not cover this challenges and tend to be tailored to a specific Linux version and architecture. This renders them practically unusable as a basis for variability-aware tool support - Linux is a moving target! We describe a robust approach for extracting implementation variability from the Linux build system. Instead of extracting the variability information by a text-based analysis of all build scripts, our approach exploits the build system itself to produce this information. As our results show, our approach is robust and works for all versions and architectures from the (git-)history of Linux.",
keywords = "Build systems, Configurability, Kbuild, Linux, Maintenance, Static analysis, VAMOS1",
author = "Christian Dietrich and Reinhard Tartler and Wolfgang Schr{\"o}der-Preikschat and Daniel Lohmann",
year = "2012",
month = sep,
doi = "10.1145/2362536.2362544",
language = "English",
isbn = "9781450310956",
volume = "1",
pages = "21--30",
booktitle = "SPLC '12: Proceedings of the 16th International Software Product Line Conference",
note = "16th International Software Product Line Conference, SPLC 2012 ; Conference date: 02-09-2012 Through 07-09-2012",

}

Download

TY - GEN

T1 - A Robust Approach for Variability Extraction from the Linux Build System

AU - Dietrich, Christian

AU - Tartler, Reinhard

AU - Schröder-Preikschat, Wolfgang

AU - Lohmann, Daniel

PY - 2012/9

Y1 - 2012/9

N2 - With more than 11,000 optional and alternative features, the Linux kernel is a highly configurable piece of software. Linux is generally perceived as a textbook example for preprocessor-based product derivation, but more than 65 percent of all features are actually handled by the build system. Hence, variability-aware static analysis tools have to take the build system into account. However, extracting variability information from the build system is difficult due to the declarative and turing-complete MAKE language. Existing approaches based on text processing do not cover this challenges and tend to be tailored to a specific Linux version and architecture. This renders them practically unusable as a basis for variability-aware tool support - Linux is a moving target! We describe a robust approach for extracting implementation variability from the Linux build system. Instead of extracting the variability information by a text-based analysis of all build scripts, our approach exploits the build system itself to produce this information. As our results show, our approach is robust and works for all versions and architectures from the (git-)history of Linux.

AB - With more than 11,000 optional and alternative features, the Linux kernel is a highly configurable piece of software. Linux is generally perceived as a textbook example for preprocessor-based product derivation, but more than 65 percent of all features are actually handled by the build system. Hence, variability-aware static analysis tools have to take the build system into account. However, extracting variability information from the build system is difficult due to the declarative and turing-complete MAKE language. Existing approaches based on text processing do not cover this challenges and tend to be tailored to a specific Linux version and architecture. This renders them practically unusable as a basis for variability-aware tool support - Linux is a moving target! We describe a robust approach for extracting implementation variability from the Linux build system. Instead of extracting the variability information by a text-based analysis of all build scripts, our approach exploits the build system itself to produce this information. As our results show, our approach is robust and works for all versions and architectures from the (git-)history of Linux.

KW - Build systems

KW - Configurability

KW - Kbuild

KW - Linux

KW - Maintenance

KW - Static analysis

KW - VAMOS1

UR - http://www.scopus.com/inward/record.url?scp=84867450368&partnerID=8YFLogxK

U2 - 10.1145/2362536.2362544

DO - 10.1145/2362536.2362544

M3 - Conference contribution

AN - SCOPUS:84867450368

SN - 9781450310956

VL - 1

SP - 21

EP - 30

BT - SPLC '12: Proceedings of the 16th International Software Product Line Conference

T2 - 16th International Software Product Line Conference, SPLC 2012

Y2 - 2 September 2012 through 7 September 2012

ER -