Visualization of Object-Oriented Software in a City Metaphor: Comprehending the Implemented Variability and its Technical Debt - Archive ouverte HAL Accéder directement au contenu
Article Dans Une Revue Journal of Systems and Software Année : 2023

Visualization of Object-Oriented Software in a City Metaphor: Comprehending the Implemented Variability and its Technical Debt

Résumé

While many large-scale software systems intensively implement variability to reuse software and speed up development, they often do not document it, hampering its comprehension. This is especially the case for variability-rich object-oriented (OO) systems that heavily rely on existing OO mechanisms (i.e., inheritance, overloading and some patterns) to implement it in a single codebase. With no traceability information, the variability is buried in the codebase, hampering its identification, analysis, and understanding. While variability management becomes increasingly difficult over the system evolution, the implementation mechanisms also bring additional complexity to the codebase, which eventually leads to technical debt, threatening even more the software quality. In this article, we report on the design and evaluation of an extensible visualization, VariCity, that exhibits zones of high density of OO variability implementations. It relies on the city metaphor to represent the classes of the system as buildings whose dimensions are used to show variability metrics inherent to the implementation classes. They are linked together through streets depicting usage relationships and grouping in neighborhoods classes using each other. The extensibility of VariCity is demonstrated with VariMetrics, which highlights OO quality metrics on the buildings, revealing quality-critical classes concentrating variability implementations. We evaluate the visualization capacity to reveal zones concentrating variability implementations and being quality-critical by applying it to multiple variabilityintensive open source software systems. We also report on a controlled experiment comparing the gain brought by the visualization to the use of an IDE.
Fichier principal
Vignette du fichier
visualization_JSS_2023.pdf (2.15 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-04247907 , version 1 (18-10-2023)
hal-04247907 , version 2 (20-10-2023)

Identifiants

Citer

Johann Mortara, Philippe Collet, Anne-Marie Dery-Pinna. Visualization of Object-Oriented Software in a City Metaphor: Comprehending the Implemented Variability and its Technical Debt. Journal of Systems and Software, In press, ⟨10.1016/j.jss.2023.111876⟩. ⟨hal-04247907v2⟩
66 Consultations
94 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More