Understanding Class Name Regularity: A Simple Heuristic and Supportive Visualization. - INRIA - Institut National de Recherche en Informatique et en Automatique Accéder directement au contenu
Article Dans Une Revue The Journal of Object Technology Année : 2022

Understanding Class Name Regularity: A Simple Heuristic and Supportive Visualization.

Résumé

Studies have shown that more than 50% of software maintenance time is spent reading code to understand it. This puts a strong emphasis on the understandability of source code. Class names constitute one of the first pieces of information developers have access to. Proposal: To assist developers in understanding the logic and regularity of class names, we present a new and simple visualization, called ClassName Distribution. It brings together package and inheritance as structural perspectives on class names. ClassName Distribution allows one to spot naming irregularities in large hierarchies scattered over multiple packages. Validation: We show (1) how this visualization helps capture recurrent patterns relative to concept reference in class names and (2) that this visualization supports the evolution of software systems by monitoring and guiding class renamings over multiple versions. To evaluate our approach we did a consequent assessment with real practitioners and open-source software structured in two different setups: in the first one, we asked domain experts to use the visualization: three groups of engineers applied our tool to the the software they develop or maintain. They proposed and performed respectively 91, 68, and 24 class renamings. In the second setup, as authors of the visualization and the tool (visualization experts), we applied our tool to a new UI framework for Pharo. We sent 34 pull requests for renaming classes and 32 were accepted. Finally, we applied our visualizations to 50 Java projects and identified visual patterns in most of them. Consequently, it shows that the proposed visualization is effective for spotting class name inconsistencies, and this by both developers of the system and external persons. The visualization presented in this article has been designed with colors, therefore the paper should be printed using an adequate medium or be read digitally.
Fichier principal
Vignette du fichier
Agouf22a-ClassName-JOT.pdf (3.53 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03706041 , version 1 (27-06-2022)

Identifiants

Citer

Nour Jihene Agouf, Stéphane Ducasse, Anne Etien, Abdelghani Alidra, Arnaud Thiefaine. Understanding Class Name Regularity: A Simple Heuristic and Supportive Visualization.. The Journal of Object Technology, 2022, 21, ⟨10.5381/jot.2022.21.1.a2⟩. ⟨hal-03706041⟩
101 Consultations
242 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More