When large software product lines are engineered, a combined set of traditional techniques, such as inheritance, or design patterns, is likely to be used for implementing variability. In these techniques, the concept of feature, as a reusable unit, does not have a first-class representation at the implementation level. Further, an inappropriate...
-
December 1, 2017 (v1)PublicationUploaded on: February 28, 2023
-
September 25, 2017 (v1)Conference paper
In many Software product lines (SPLs), if domain variability can be properly speciied in terms of features in a feature model (FM), their implementation in core-code assets is hard to capture and maintain, as there are diierent techniques to implement the variability. Even with an organization in variation points and variants, most of these...
Uploaded on: February 28, 2023 -
May 29, 2017 (v1)Conference paper
When large software product lines are engineered, a combined set of traditional techniques, e.g., inheritance, design patterns, generic types, is likely to be used for realizing the variability at the implementation level. In these techniques the concept of feature, as a reusable unit, does not have a first-class representation in...
Uploaded on: February 28, 2023 -
September 25, 2017 (v1)Conference paper
In a software product line (SPL) engineering approach, the addressed variability in core-code assets must be consistent with the specified domain variability, usually captured in a variability model, e.g., a feature model. Currently, the support for checking such consistency is limited, mostly when a single variability implementation technique...
Uploaded on: February 28, 2023 -
September 2020 (v1)Journal article
In many industrial settings, the common and varying features of related software-intensive systems , as their reusable units, are likely to be implemented by a combined set of traditional techniques. Features do not align perfectly well with the used language constructs, e.g., classes, thus hindering the management of implemented variability....
Uploaded on: December 4, 2022 -
October 19, 2020 (v1)Conference paper
Variability is present in most modern object-oriented software-intensive systems, despite that they commonly do not follow a product line approach. In these systems, variability is implicit and hardly documented as it is implemented by different traditional mechanisms, namely inheritance, overloading, or design patterns. This hampers...
Uploaded on: December 4, 2022 -
September 9, 2019 (v1)Conference paper
When variability is implemented into a single variability-rich system with object-oriented techniques (e.g., inheritance, overloading , design patterns), the variation points and variants usually do not align with the domain features. It is then very hard and time consuming to manually identify these variation points to manage variability at...
Uploaded on: December 4, 2022 -
September 9, 2019 (v1)Conference paper
In many variability-intensive systems, variability is implemented in code units provided by a host language, such as classes or functions, which do not align well with the domain features. Annotating or creating an orthogonal decomposition of code in terms of features implies extra effort, as well as massive and cumbersome refactoring...
Uploaded on: December 4, 2022 -
February 5, 2020 (v1)Conference paper
In Software Product Line (SPL) engineering, mapping domain features to existing code assets is essential for variability management. When variability is already implemented through Object-Oriented (OO) techniques, it is too costly and error-prone to refactor assets in terms of features or to use feature annotations. In this work, we delve into...
Uploaded on: December 4, 2022 -
February 9, 2024 (v1)Publication
In many variability-intensive systems, variability is implemented in code units provided by a host language, such as classes or functions, which do not align well with the domain features. Annotating or creating an orthogonal decomposition of code in terms of features implies extra effort, as well as massive and cumbersome refactoring...
Uploaded on: February 16, 2024 -
February 24, 2022 (v1)Journal article
Most modern object-oriented software systems are variability-rich, despite that they may not be developed as product lines. Their variability is implemented by several traditional techniques in combination, such as inheritance, overloading, or design patterns. As domain features or variation points with variants are not a by-product of these...
Uploaded on: December 3, 2022 -
September 6, 2021 (v1)Conference paper
Many variability-rich object-oriented systems rely on multiple traditional techniques (inheritance, patterns) to implement their variability in a single codebase. These variability implementation places are neither explicit nor documented, hampering their detection and variability comprehension. Based on the identification of symmetry property...
Uploaded on: December 4, 2022 -
2019 (v1)Publication
No description
Uploaded on: December 4, 2022