SPLC is a thriving ground for practitioners, researchers, and educators working in areas related to systems and software product lines. With the increasing size and complexity of software, efficiently supporting software processes becomes an extremely important task. SPLC 2022 acted as a venue fostering knowledge exchange and learning about the state of the art in software product lines as well as new practices, trends, innovations, insights from industrial applications, and new challenges.
Towards a cognitive model of feature model comprehension: an exploratory study using eye-tracking
Feature models are pivotal components of Software Product Lines. Therefore, their correct comprehension is crucial for performing adequately all the tasks where they are involved. Despite their importance, to the best of our knowledge, no research has ...
Features, believe it or not!: a design pattern for first-class citizen features on stock JVM
Modern software systems must fulfill the needs of an ever-growing customer base. Due to the innate diversity of human needs, software should be highly customizable and reconfigurable. Researchers and practitioners gained interest in software product ...
Customizable visualization of quality metrics for object-oriented variability implementations
Many large-scale software systems intensively implement variability to reuse software and speed up development. Such mechanisms, however, bring additional complexity, which eventually leads to technical debt, threatening the software quality, and ...
Variability in data visualization: a software product line approach
Data visualization aims to effectively communicate quantitative information by understanding which techniques and displays work better for different circumstances and why. There are a variety of software solutions capable of generating a multitude of ...
It's your loss: classifying information loss during variability model roundtrip transformations
In software product lines, variability models are used to explicitly capture commonalities and variability of a set of software systems. Many variability modeling approaches have been developed over a period of more than 30 years. Most of them are only ...
Accuracy- and consistency-aware recommendation of configurations
Constraint-based configurators support users in deciding which components and features should be included in a configuration. Due to the increasing size and complexity of configurable products and services, recommender systems are used to personalize ...
Feature subset selection for learning huge configuration spaces: the case of linux kernel size
- Mathieu Acher,
- Hugo Martin,
- Luc Lesoil,
- Arnaud Blouin,
- Jean-Marc Jézéquel,
- Djamel Eddine Khelladi,
- Olivier Barais,
- Juliana Alves Pereira
Linux kernels are used in a wide variety of appliances, many of them having strong requirements on the kernel size due to constraints such as limited memory or instant boot. With more than nine thousands of configuration options to choose from, ...
Using software product lines to create blockchain products: application to supply chain traceability
In recent years, blockchain has been growing rapidly from a niche technology to a promising solution for many sectors, due to its unique properties that empower the design of innovative applications. Nevertheless, the development of blockchain ...
A systematic mapping study of security concepts for configurable data storages
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 consider security concerns, for instance, to avoid that unintended feature ...
Evaluating the benefits of software product lines in game software engineering
Video game development is one of the fastest-growing industries in the world. The use of software product lines (SPLs) has proven to be effective in developing different types of software at a lower cost, in less time, and with higher quality. There are ...
Towards developer support for merging forked test cases
Developers rely on branching and forking mechanisms of modern versioning systems to evolve and maintain their software systems. As a result, systems often exist in the form of various short-living or even long-living (i.e., clone & own development) ...
Adaptive behavioral model learning for software product lines
Behavioral models enable the analysis of the functionality of software product lines (SPL), e.g., model checking and model-based testing. Model learning aims to construct behavioral models. Due to the commonalities among the products of an SPL, it is ...
Open source software: an approach to controlling usage and risk in application ecosystems
The Open Source Software movement has been growing exponentially for a number of years with no signs of slowing. Driving this growth is the wide-spread availability of libraries and frameworks that provide many functionalities. Developers are saving ...
WipeOutR: automated redundancy detection for feature models
Feature models are used to specify variability and commonality properties of software artifacts. In order to assure high-quality models, different feature model analysis and testing operations can be applied. In this paper, we present two new algorithms ...
In three steps to software product lines: a practical example from the automotive industry
In the automotive industry, suppliers aim to increase their revenue and try to keep up with the pace of the market trends to stay competitive by offering off-the-shelf products to car manufacturers. On the other hand those car manufacturers request ...
Variability of safety risks in production environments
One of the major steps between (re-)configuration of a factory and the start of production is the commissioning phase, where certification of safety requirements and assessment of potential hazards is a key activity. Typically, assessment of safety ...
Behavioral customization of state machine models at ESO
For the development of the Extremely Large Telescope, the European Southern Observatory uses state machines to define life cycles and basic behavior of control software components. To provide certain degrees of freedom, the component life cycles need to ...
Improving the customization of software product lines through the definition of local features
Variability in software product lines (SPL) is mostly described with feature models. In basic feature models, the selection of a feature for a particular product determines whether or not the feature is present in the product in a global manner. Even ...
Quality-aware analysis and optimisation of virtual network functions
The softwarisation and virtualisation of network functionality is the last milestone in the networking industry. Software-Defined Networks (SDN) and Network Function Virtualization (NFV) offer the possibility of using software to manage computer and ...
Evolvable SPL management with partial knowledge: an application to anomaly detection in time series
In Machine Learning (ML), the resolution of anomaly detection problems in time series presents a great diversity of practices as it can correspond to many different contexts. These practices cover both grasping the business problem and designing the ...
From feature models to feature toggles in practice
Feature Toggles (often also referred to as Feature Flags) are a powerful technique, providing an alternative to maintaining multiple feature branches in source code. A condition within the code enables or disables a feature at runtime, hence providing a ...
A benchmark for active learning of variability-intensive systems
Behavioral models are the key enablers for behavioral analysis of Software Product Lines (SPL), including testing and model checking. Active model learning comes to the rescue when family behavioral models are non-existent or outdated. A key challenge ...
Code smell analysis in cloned Java variants: the apo-games case study
Families of software products are usually created using opportunistic reuse (clone-and-own) in which products are cloned and adapted to meet new requirements, user preferences, or non-functional properties. Opportunistic reuse brings short-term benefits,...
We're not gonna break it!: consistency-preserving operators for efficient product line configuration
When configuring a software product line, finding a good tradeoff between multiple orthogonal quality concerns is a challenging multi-objective optimisation problem. State-of-the-art solutions are based on evolutionary search. They encode configurations ...
Software product line scoping: a systematic literature review
- Luciano Marchezan,
- Elder Rodrigues,
- Wesley K. G. Assunção,
- Maicon Bernardino,
- Fábio Paulo Basso,
- João Carbonell
In this extended abstract, we discuss the Journal First summary of our work published in the Journal of Systems and Software (JSS) [3].
Incremental software product line verification: a performance analysis with dead variable code
This extended abstract summarizes our eponymous journal paper [1] published first in Empirical Software Engineering (EMSE).
Similarity matching for product comparison
The volume, variety and velocity of products in software-intensive systems product lines is increasing. One challenge is to understand the range of similarity between products. Reasons for product comparison include (i) to decide whether to build a new ...
Tutorial on the universal variability language
- Chico Sundermann,
- Kevin Feichtinger,
- José A. Galindo,
- David Benavides,
- Rick Rabiser,
- Sebastian Krieter,
- Thomas Thüm
The multitude of formats for specifying variability models induces additional effort for researchers and practitioners and hinders exchange. The Universal Variability Language (UVL) is a community effort towards a unified format. Over the last two years,...
24th International Workshop on Configuration (CONFWS'22)
Configuration is composing product models of complex and variant systems requiring parameterizable components. This traditionally relies on knowledge-representation formalisms that enable the reasoning and automatization of different software ...
REVE 2022: 10th International Workshop on REverse Variability Engineering
Software Product Line (SPL) migration remains a challenging endeavor. From organizational issues to purely technical challenges, there is a wide range of barriers that complicates SPL adoption. This workshop aims to foster research about making the most ...
Recommendations
Special section on the 17th International Software Product Line Conference
Today, companies develop, maintain and deploy families of similar software products (e.g., games for different models of smartphones) rather than a single product. Software product lines engineering refers to software engineering methods, tools and ...