2022
DOI: 10.1007/s10515-022-00329-x
|View full text |Cite
|
Sign up to set email alerts
|

Identification and visualization of variability implementations in object-oriented variability-rich systems: a symmetry-based approach

Abstract: 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 techniques, variability in code assets of such systems is implicit, and hardly documented, hampering qualities such as understandability and maintainability. In this artic… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2

Citation Types

0
8
0

Year Published

2022
2022
2024
2024

Publication Types

Select...
3
2

Relationship

0
5

Authors

Journals

citations
Cited by 6 publications
(10 citation statements)
references
References 87 publications
0
8
0
Order By: Relevance
“…As the unchanged and changed parts can be abstracted in terms of variation points (vp-s) with variants [12], a symmetry-based identification approach has been previously proposed [15] and tooled with the the symfinder toolchain [8]. The approach also relies on the notion of density of symmetries in the code to reveal the variability organization (i.e., vp-s with an important number of variants at class or method level) [13] and display it in the shape of a graph. To fix the lack of precision of this first approach in symfinder [13], the usage relationships (type used as an attribute or method parameter) has been taken into account with the definition of a parameterized density measure that enables to automatically reveal fewer but more relevant hotspot zones concentrating variability implementations [9].…”
Section: Identifying Oo Variability Implementationsmentioning
confidence: 99%
See 3 more Smart Citations
“…As the unchanged and changed parts can be abstracted in terms of variation points (vp-s) with variants [12], a symmetry-based identification approach has been previously proposed [15] and tooled with the the symfinder toolchain [8]. The approach also relies on the notion of density of symmetries in the code to reveal the variability organization (i.e., vp-s with an important number of variants at class or method level) [13] and display it in the shape of a graph. To fix the lack of precision of this first approach in symfinder [13], the usage relationships (type used as an attribute or method parameter) has been taken into account with the definition of a parameterized density measure that enables to automatically reveal fewer but more relevant hotspot zones concentrating variability implementations [9].…”
Section: Identifying Oo Variability Implementationsmentioning
confidence: 99%
“…The approach also relies on the notion of density of symmetries in the code to reveal the variability organization (i.e., vp-s with an important number of variants at class or method level) [13] and display it in the shape of a graph. To fix the lack of precision of this first approach in symfinder [13], the usage relationships (type used as an attribute or method parameter) has been taken into account with the definition of a parameterized density measure that enables to automatically reveal fewer but more relevant hotspot zones concentrating variability implementations [9]. However, the resulting symfinder's graph visualization is then harder to interpret on large systems with two types of relationships being displayed at the same time.…”
Section: Identifying Oo Variability Implementationsmentioning
confidence: 99%
See 2 more Smart Citations
“…This is especially the case of object-oriented (OO) systems that often implement their variability in a single codebase, using the traditional OO mechanisms (i.e., inheritance, overloading of methods and constructors, design patterns) [12,27,82]. This absence of dedicated implementation mechanisms causes the variability to be intertwined with the implementation, hampering its identification, analysis, and understanding as there is no traceability with domain information [83,85]. Being completely dependent on mechanisms causing technical debt, such systems are prone to introduce variability debt [95] at the code level, calling for a solution to better identify and understand it.…”
mentioning
confidence: 99%