Distance-based sampling of software configuration spaces
Configurable software systems provide a multitude of configuration options to adjust and
optimize their functional and non-functional properties. For instance, to find the fastest …
optimize their functional and non-functional properties. For instance, to find the fastest …
Causality in configurable software systems
Detecting and understanding reasons for defects and inadvertent behavior in software is
challenging due to their increasing complexity. In configurable software systems, the …
challenging due to their increasing complexity. In configurable software systems, the …
The interplay of sampling and machine learning for software performance prediction
Artificial intelligence has gained considerable momentum in software engineering, but there
are major challenges that make this domain special. We review recent advances, raise …
are major challenges that make this domain special. We review recent advances, raise …
White-box performance-influence models: A profiling and learning approach
Many modern software systems are highly configurable, allowing the user to tune them for
performance and more. Current performance modeling approaches aim at finding …
performance and more. Current performance modeling approaches aim at finding …
Exploring differences and commonalities between feature flags and configuration options
Feature flags for continuous deployment and configuration options for customizing software
share many similarities, both conceptually and technically. However, neither academic nor …
share many similarities, both conceptually and technically. However, neither academic nor …
Static data-flow analysis for software product lines in C: Revoking the preprocessor's special role
Many critical codebases are written in C, and most of them use preprocessor directives to
encode variability, effectively encoding software product lines. These preprocessor …
encode variability, effectively encoding software product lines. These preprocessor …
Seal: integrating program analysis and repository mining
Software projects are complex technical and organizational systems involving large
numbers of artifacts and developers. To understand and tame software complexity, a wide …
numbers of artifacts and developers. To understand and tame software complexity, a wide …
Efficient static analysis and verification of featured transition systems
Abstract A Featured Transition System (FTS) models the behaviour of all products of a
Software Product Line (SPL) in a single compact structure, by associating action-labelled …
Software Product Line (SPL) in a single compact structure, by associating action-labelled …
Performance evolution of configurable software systems: an empirical study
As a software system evolves, its performance can improve or degrade over time.
Performance evolution is especially delicate in configurable software systems, where …
Performance evolution is especially delicate in configurable software systems, where …
On the benefits and limits of incremental build of software configurations: an exploratory study
Software projects use build systems to automate the compilation, testing, and continuous
deployment of their software products. As software becomes increasingly configurable, the …
deployment of their software products. As software becomes increasingly configurable, the …