A Study of Feature Scattering in the Linux Kernel
Zusammenfassung
Feature code is often scattered across a software system. Scattering is not necessarily bad if used with care, as witnessed by systems with highly scattered features that evolved successfully. Feature scattering, often realized with a pre-processor, circumvents limitations of programming languages and software architectures. Unfortunately, little is known about the principles governing scattering in large and long-living software systems. We present a longitudinal study of feature scattering in the Linux kernel, complemented by a survey with 74, and interviews with nine Linux kernel developers. We analyzed almost eight years of the kernel's history, focusing on its largest subsystem: device drivers. We learned that the ratio of scattered features remained nearly constant and that most features were introduced without scattering. Yet, scattering easily crosses subsystem boundaries, and highly scattered outliers exist. Scattering often addresses a performance-maintenance tradeoff (alleviating complicated APIs), hardware design limitations, and avoids code duplication. While developers do not consciously enforce scattering limits, they actually improve the system design and refactor code, thereby mitigating pre-processor idiosyncrasies or reducing its use.
- Vollständige Referenz
- BibTeX
Passos, L., Queiroz, R., Mukelabai, M., Berger, T., Apel, S., Czarnecki, K. & Padilla, J. A.,
(2020).
A Study of Feature Scattering in the Linux Kernel.
In:
Felderer, M., Hasselbring, W., Rabiser, R. & Jung, R.
(Hrsg.),
Software Engineering 2020.
Bonn:
Gesellschaft für Informatik e.V..
(S. 81--81).
DOI: 10.18420/SE2020_23
@inproceedings{mci/Passos2020,
author = {Passos, Leonardo AND Queiroz, Rodrigo AND Mukelabai, Mukelabai AND Berger, Thorsten AND Apel, Sven AND Czarnecki, Krzysztof AND Padilla, Jesus Alejandro},
title = {A Study of Feature Scattering in the Linux Kernel},
booktitle = {Software Engineering 2020},
year = {2020},
editor = {Felderer, Michael AND Hasselbring, Wilhelm AND Rabiser, Rick AND Jung, Reiner} ,
pages = { 81--81 } ,
doi = { 10.18420/SE2020_23 },
publisher = {Gesellschaft für Informatik e.V.},
address = {Bonn}
}
author = {Passos, Leonardo AND Queiroz, Rodrigo AND Mukelabai, Mukelabai AND Berger, Thorsten AND Apel, Sven AND Czarnecki, Krzysztof AND Padilla, Jesus Alejandro},
title = {A Study of Feature Scattering in the Linux Kernel},
booktitle = {Software Engineering 2020},
year = {2020},
editor = {Felderer, Michael AND Hasselbring, Wilhelm AND Rabiser, Rick AND Jung, Reiner} ,
pages = { 81--81 } ,
doi = { 10.18420/SE2020_23 },
publisher = {Gesellschaft für Informatik e.V.},
address = {Bonn}
}
Sollte hier kein Volltext (PDF) verlinkt sein, dann kann es sein, dass dieser aus verschiedenen Gruenden (z.B. Lizenzen oder Copyright) nur in einer anderen Digital Library verfuegbar ist. Versuchen Sie in diesem Fall einen Zugriff ueber die verlinkte DOI: 10.18420/SE2020_23
Haben Sie fehlerhafte Angaben entdeckt? Sagen Sie uns Bescheid: Feedback abschicken
Mehr Information
DOI: 10.18420/SE2020_23
ISBN: 978-3-88579-694-7
ISSN: 1617-5468
Datum: 2020
Sprache:
(en)
(en)
Typ: Text/Conference Paper

