Communication Dans Un Congrès Année : 2024

Visualizing Variability Implemented with Object-Orientation and Code Clones: A Tale of Two Cities

Résumé

Understanding variability in large software systems poses significant challenges for developers, especially when variability is implemented within a single codebase using diverse language mechanisms like in TypeScript. In this language, one can implement variability with traditional Object-Oriented (OO) techniques, but also with dynamic loading mechanisms that organize different forms of clones in sub-directories and files serving as internal variants. While certain approaches may facilitate partial identification or visualization, there exists no solution for handling all variability mechanisms simultaneously. In this paper, we propose an approach by detecting all mechanisms and integrating two city-based representations to visualize these implemented variabilities. The first representation adapts the VariCity visualization and focuses on OO variability with classes as buildings and usage relationships as streets. The second representation leverages a codebase analysis combined with a code clone detection technique to visualize the directory hierarchy as streets and files as circular districts with shades and colors to highlight cloning. Some visual mechanisms enable to display relevant relationships between them, unveiling patterns of cross-usage and variability architecture. We also report on the application of the tooled approach on several large open-source systems.
Fichier principal
Vignette du fichier
Short_paper_SPLC_24_non_acm.pdf (863.09 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-04717839 , version 1 (02-10-2024)

Identifiants

Citer

Yann Brault, Philippe Collet, Anne-Marie Pinna-Dery. Visualizing Variability Implemented with Object-Orientation and Code Clones: A Tale of Two Cities. SPLC '24: 28th ACM International Systems and Software Product Line Conference, Sep 2024, Dommeldange Luxembourg, Luxembourg. pp.107-112, ⟨10.1145/3646548.3673037⟩. ⟨hal-04717839⟩
42 Consultations
24 Téléchargements

Altmetric

Partager

More