Visualization based Analysis of Quality for Large scale Software Systems

Guillaume Langelier, Houari A. Sahraoui, Pierre Poulin, Karim Dhambri

Journal on Automated Software Engineering (JASE 2006)

Additional material and figures in color



Figure 1. Three class representations: all three metrics (CBO, LCOM5, and WMC) are increasing in value from left to right.


Figure 2. GIS representation: typhoon conditions across Southeast Asia during Summer 1997 (Healey and Enns, 1999).


Figure 3. Original 2D Treemap representation of census data.


Figure 4. Illustration of converting a software hierarchy in our adapted Treemap and Sunburst techniques.


Figure 5. (Top) Modified Treemap technique and (bottom) modified Sunburst technique as displayed in our framework. They both represent PCGEN, a tool for character generation in RPG (1129 classes).


Figure 6. Original 2D Sunburst representation of a file system.


Figure 7. Extreme values for CBO are presented in red. It displays a part of JRE 1.4.04.


Figure 8. An example of the association filter: only classes associated with the class circled in green remained in color.


Figure 9. The predominantly red appearance indicates that coupling in this program seems to have grown out of proportion. Maybe all this coupling is not essential. It represents ArtOfIllusion, a full featured 3D modeling, rendering, and animation studio (523 classes).


Figure 10. Exemple of a Blob found in RSSOwl.


Figure 11. A case of Shotgun Surgery detected in Freenet.


Figure 12. Representation of the evolution within a single image, from left to right, of a package over 23 versions. It represents Quantum, a database access plugin for Eclipse (689 classes).


Figure 13. This figure shows the evolution of Freemind at different versions. To better appreciate the evolution at each step, play the movie: labgelo/publication material/jase06/StepImproved.avi


Figure 14. An example of Class Renaming detection in RSSOwl.


Figure 15. An example of the Growing Class detection in Freemind.


Figure 16. An example of the correspondence between visual patterns and package types.


Figure 17. Example of the Treeline technique. It represents EMMA, a tool for measuring coverage of Java software (286 classes).