In the design of complex and variable software systems, one of the key steps is to select the variability mechanism that defines how variable features are realized on the design and code level. Although different variability mechanisms were invented and applied in practice for decades, there are not many studies that compare these mechanisms based on practical experiences. This paper characterizes and compares seven variability mechanisms in terms of their techniques, binding time, granularity, and further aspects. It provides experiences of their usage, the practical benefits and challenges, as well as discusses existing solutions to the challenges based on related studies and our practice in industry
The success of product line engineering techniques in the last 15 years has popularized the use of s...
Variability management is critical for achieving the large scale reuse promised by the software prod...
Variability Management (VM) in Software Product Line (SPL) is a key activity that usually affects th...
Development of software product families relies heavily on the use of variability to manage the diff...
The concept of variability is not new in software engineering, but current research mostly remains v...
\ua9 Springer-Verlag Berlin Heidelberg 2013. Software variability, as a powerful mechanism that enab...
Many of today's software systems accommodate different usage and deployment scenarios. Intentional a...
Context: Variability (i.e., the ability of software systems or artifacts to be adjusted for differen...
Software product lines (or system families) have achieved considerable adoption by the software indu...
For nearly 30 years, industry and researchers have proposed many software variability tools to cope ...
During recent years, the amount of variability that has to be supported by a software artefact is gr...
A variability mechanism is a software implementation technique that realizes a choice in the feature...
Abstract—Context: Variability (i.e., the ability of software systems or artifacts to be adjusted for...
According to state of the art literature, software product lines are an effective way to achieve eco...
In this paper we discuss the notion of variability. We have experienced that this concept has so far...
The success of product line engineering techniques in the last 15 years has popularized the use of s...
Variability management is critical for achieving the large scale reuse promised by the software prod...
Variability Management (VM) in Software Product Line (SPL) is a key activity that usually affects th...
Development of software product families relies heavily on the use of variability to manage the diff...
The concept of variability is not new in software engineering, but current research mostly remains v...
\ua9 Springer-Verlag Berlin Heidelberg 2013. Software variability, as a powerful mechanism that enab...
Many of today's software systems accommodate different usage and deployment scenarios. Intentional a...
Context: Variability (i.e., the ability of software systems or artifacts to be adjusted for differen...
Software product lines (or system families) have achieved considerable adoption by the software indu...
For nearly 30 years, industry and researchers have proposed many software variability tools to cope ...
During recent years, the amount of variability that has to be supported by a software artefact is gr...
A variability mechanism is a software implementation technique that realizes a choice in the feature...
Abstract—Context: Variability (i.e., the ability of software systems or artifacts to be adjusted for...
According to state of the art literature, software product lines are an effective way to achieve eco...
In this paper we discuss the notion of variability. We have experienced that this concept has so far...
The success of product line engineering techniques in the last 15 years has popularized the use of s...
Variability management is critical for achieving the large scale reuse promised by the software prod...
Variability Management (VM) in Software Product Line (SPL) is a key activity that usually affects th...