Logo des Repositoriums
 

A Study of Feature Scattering in the Linux Kernel

dc.contributor.authorPassos, Leonardo
dc.contributor.authorQueiroz, Rodrigo
dc.contributor.authorMukelabai, Mukelabai
dc.contributor.authorBerger, Thorsten
dc.contributor.authorApel, Sven
dc.contributor.authorCzarnecki, Krzysztof
dc.contributor.authorPadilla, Jesus Alejandro
dc.contributor.editorFelderer, Michael
dc.contributor.editorHasselbring, Wilhelm
dc.contributor.editorRabiser, Rick
dc.contributor.editorJung, Reiner
dc.date.accessioned2020-02-03T13:03:27Z
dc.date.available2020-02-03T13:03:27Z
dc.date.issued2020
dc.description.abstractFeature 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.en
dc.identifier.doi10.18420/SE2020_23
dc.identifier.isbn978-3-88579-694-7
dc.identifier.pissn1617-5468
dc.identifier.urihttps://dl.gi.de/handle/20.500.12116/31700
dc.language.isoen
dc.publisherGesellschaft für Informatik e.V.
dc.relation.ispartofSoftware Engineering 2020
dc.relation.ispartofseriesLecture Notes in Informatics (LNI) - Proceedings, Volume P-300
dc.subjectfeature scattering
dc.subjectsoftware modularity
dc.subjectlongitudinal study
dc.subjectLinux kernel
dc.titleA Study of Feature Scattering in the Linux Kernelen
dc.typeText/Conference Paper
gi.citation.endPage
gi.citation.publisherPlaceBonn
gi.citation.startPage81
gi.conference.date24.-28. Feburar 2020
gi.conference.locationInnsbruck, Austria
gi.conference.sessiontitleFeature-Modellierung

Dateien

Originalbündel
1 - 1 von 1
Lade...
Vorschaubild
Name:
B6-03.pdf
Größe:
33.54 KB
Format:
Adobe Portable Document Format