Identifying and visualizing variability in object-oriented variability-rich systems - Archive ouverte HAL
Communication Dans Un Congrès Année : 2019

Identifying and visualizing variability in object-oriented variability-rich systems

Résumé

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 activities. In this paper, we introduce an approach for identifying and visualizing the variability implementation places within the main decomposition structure of object-oriented code assets in a single variability-rich system. First, we propose to use symmetry, as a common property of some main implementation techniques, such as inheritance or overloading, to identify uniformly these places. We study symmetry in different constructs (e.g., classes), techniques (e.g., subtyping, overloading) and design patterns (e.g., strategy, factory), and we also show how we can use such symmetries to find variation points with variants. We then report on the implementation and application of a toolchain, symfinder, which automatically identifies and visualizes places with symmetry. The publicly available application to several large open-source systems shows that symfinder can help in characterizing code bases that are variability-rich or not, as well as in discerning zones of interest w.r.t. variability.
Fichier principal
Vignette du fichier
splc2019-preprint-main.pdf (1.72 Mo) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-02339296 , version 1 (30-10-2019)

Identifiants

Citer

Xhevahire Tërnava, Johann Mortara, Philippe Collet. Identifying and visualizing variability in object-oriented variability-rich systems. the 23rd International Systems and Software Product Line Conference, Sep 2019, Paris, France. pp.231-243, ⟨10.1145/3336294.3336311⟩. ⟨hal-02339296⟩
128 Consultations
302 Téléchargements

Altmetric

Partager

More