Auflistung P300 - Software Engineering 2020 nach Autor:in "Apel, Sven"
1 - 2 von 2
Treffer pro Seite
Sortieroptionen
- KonferenzbeitragDistance-Based Sampling of Software Configuration Spaces(Software Engineering 2020, 2020) Kaltenecker, Christian; Grebhahn, Alexander; Siedmund, Norbert; Guo, Jianmei; Apel, SvenConfigurable software systems provide configuration options to adjust and optimize their functional and non-functional properties. However, to obtain accurate performance predictions, a representative sample set of configurations is required. Different sampling strategies have been proposed, which come with different advantages and disadvantages. In our experiments, we found that most sampling strategies do not achieve a good coverage of the configuration space with respect to covering relevant performance values. That is, they miss important configurations with distinct performance behavior. Based on this observation, we devise a new sampling strategy that is based on a distance metric and a probability distribution to spread the configurations of the sample set across the configuration space. To demonstrate the merits of distance-based sampling, we compare it to state-of-the-art sampling strategies on 10 real-world configurable software systems. Our results show that distance-based sampling leads to more accurate performance models for medium to large sample sets.
- KonferenzbeitragA Study of Feature Scattering in the Linux Kernel(Software Engineering 2020, 2020) Passos, Leonardo; Queiroz, Rodrigo; Mukelabai, Mukelabai; Berger, Thorsten; Apel, Sven; Czarnecki, Krzysztof; Padilla, Jesus AlejandroFeature 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.