The document describes a tool for visualizing class name distributions and detecting inconsistencies in class naming conventions. The tool analyzes class names to identify naming patterns based on common prefixes and suffixes. It then visually displays classes grouped by consistent hierarchies and highlights possible inconsistencies. The tool was evaluated on both Java and Pharo projects, identifying valid renamings and providing insights into projects' internal designs. Experts and non-experts found the tool intuitive and effective at detecting misnamed classes.
Instruct Nirmaana 24-Smart and Lean Construction Through Technology.pdf
VannePresentation.pdf
1. ClassName Distribution Visualization:
Detecting inconsistencies in class names
Nour J. Agouf
Arolla, Inria, Univ. Lille, CNRS, Centrale Lille,
UMR 9189 - CRIStAL
nour-jihene.agouf@arolla.fr
10. • Supports both Pharo and Java projects.
• Supports suffix analysis, prefix analysis and both of suffix and
prefix mixed to chose the most accurate word in the hierarchy,
describing its concept.
Languages:
11. Java: Quantitative Evaluation
on 50 Java Projects
Evaluation
11
Pharo: Qualitative Evaluation on 6
Pharo Projects
Experts of the tool/
Non-experts of the project
Non-experts of the tool/
Experts of the project
232 Validated Renamings
✓ >1000 Stars
✓ >50 Forks
✓ >5000 K.B
12. 12
‣ The tool has shown to be easy to use and pretty intuitive,
‣ The tool provides a good summary of the distribution of classes inside
packages and their vocabulary.
‣ The tool is a good source of information about projects internal design,
‣ The tool has proven to be effective in detecting Pharo misnamed classes
‣ The tool showed inconsistencies also exist in Java projects
‣ A journal paper in the process of being published
Conclusion