R May, C Biermann, J Krüger, G Saake… - Proceedings of the 26th …, 2022 - dl.acm.org
Most modern software systems can be configured to fulfill specific customer requirements, adapting their behavior as required. However, such adaptations also increase the need to …
The growing popularity of machine learning (ML) applications has led to the introduction of software engineering tools such as Data Versioning Control (DVC), MLFlow and Pachyderm …
Almost every sufficiently complex software system today is configurable. Conditional compilation is a simple variability-implementation mechanism that is widely used in open …
Variability-sensitive verification pursues effective analysis of the exponentially many variants of a program family. Several variability-aware techniques have been proposed, but …
With large scale and complex configurable systems, it is hard for users to choose the right combination of options (ie, configurations) in order to obtain the wanted trade-off between …
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 …
J Guo, JH Liang, K Shi, D Yang, J Zhang… - Software & Systems …, 2019 - Springer
A key challenge to software product line engineering is to explore a huge space of various products and to find optimal or near-optimal solutions that satisfy all predefined constraints …
Highly configurable software often uses preprocessor annotations to handle variability. However, understanding, maintaining, and evolving code with such annotations is difficult …
P Franz, T Berger, I Fayaz, S Nadi… - 2021 IEEE/ACM 43rd …, 2021 - ieeexplore.ieee.org
Highly configurable systems are highly complex systems. The Linux kernel is arguably one of the most well-known examples. Given its vast configuration space, researchers have used …