Details
Original language | English |
---|---|
Title of host publication | SPLC '12: Proceedings of the 16th International Software Product Line Conference |
Pages | 21-30 |
Number of pages | 10 |
Volume | 1 |
Publication status | Published - Sept 2012 |
Externally published | Yes |
Event | 16th International Software Product Line Conference, SPLC 2012 - Salvador, Brazil Duration: 2 Sept 2012 → 7 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.
Keywords
- Build systems, Configurability, Kbuild, Linux, Maintenance, Static analysis, VAMOS1
ASJC Scopus subject areas
- Computer Science(all)
- Software
- Computer Science(all)
- Human-Computer Interaction
- Computer Science(all)
- Computer Vision and Pattern Recognition
- Computer Science(all)
- Computer Networks and Communications
Cite this
- Standard
- Harvard
- Apa
- Vancouver
- BibTeX
- RIS
SPLC '12: Proceedings of the 16th International Software Product Line Conference. Vol. 1 2012. p. 21-30.
Research output: Chapter in book/report/conference proceeding › Conference contribution › Research › peer review
}
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 -