Interactive Role Stereotype-Based Visualization To Comprehend Software Architecture

Motivation: Software visualization can be helpful in comprehending the architecture of large software systems. Traditionally, software visualisation focuses on representing the structural perspectives of systems. In this paper we enrich this perspective by adding the notion of role-stereotype. This rolestereotype carries information about the type of functionality that a class has in the system as well as the types of collaborations with other classes that it typically has.Objective: We propose an interactive visualization called RoleViz, that visualizes system architectures in which architectural elements are annotated with their role-stereotypes.Method: We conducted a user-study in which developers use RoleViz and Softagram (a commercial tool for software architecture comprehension) to solve two separate comprehension tasks on a large open source system. We compared RoleViz against Softagram in terms of participant’s: (i) perceived cognitive load, (ii) perceived usability, and (iii) understanding of the system. Result: In total, 16 developers participated in our study. Six of the participants explicitly indicated that visualizing roles helped them complete the assigned tasks. Our observations indicate significant differences in terms of participant’s perceived usability and understanding scores.Conclusion: The participants achieved better scores on completing software understanding tasks with RoleViz without any cognitive-load penalty.Demo: https://youtu.be/HqCUAlai4qw?t=258

[1]  Peng Liang,et al.  A systematic review of software architecture visualization techniques , 2014, J. Syst. Softw..

[2]  Jonathan I. Maletic,et al.  The effect of layout on the comprehension of UML class diagrams: A controlled experiment , 2009, 2009 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[3]  J. B. Brooke,et al.  SUS: A 'Quick and Dirty' Usability Scale , 1996 .

[4]  Marco Torchiano,et al.  How Developers' Experience and Ability Influence Web Application Comprehension Tasks Supported by UML Stereotypes: A Series of Four Experiments , 2010, IEEE Transactions on Software Engineering.

[5]  Thomas S. Tullis,et al.  A Comparison of Questionnaires for Assessing Website Usability , 2004 .

[6]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[7]  Rebecca A. Grier How High is High? A Meta-Analysis of NASA-TLX Global Workload Scores , 2015 .

[8]  Miroslaw Staron,et al.  Empirical assessment of using stereotypes to improve comprehension of UML models: A set of experiments , 2006, J. Syst. Softw..

[9]  Rebecca Wirfs-Brock Characterizing classes , 2006, IEEE Software.

[10]  Jonathan I. Maletic,et al.  Evaluating UML Class Diagram Layout based on Architectural Importance , 2005, 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[11]  Michel R. V. Chaudron,et al.  Automated Classification of Class Role-Stereotypes via Machine Learning , 2019, EASE.

[12]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[13]  F. Wilcoxon Individual Comparisons by Ranking Methods , 1945 .

[14]  S. Hart,et al.  Development of NASA-TLX (Task Load Index): Results of Empirical and Theoretical Research , 1988 .

[15]  N. Hoffart Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory , 2000 .

[16]  Randall D. Spain,et al.  Measurement Invariance of the Nasa TLX , 2008 .

[17]  Oscar Nierstrasz,et al.  Object-oriented reengineering patterns , 2004, Proceedings. 26th International Conference on Software Engineering.

[18]  Jean-Marc Jézéquel,et al.  Assessing the use of slicing-based visualizing techniques on the understanding of large metamodels , 2015, Inf. Softw. Technol..

[19]  Jonathan I. Maletic,et al.  Assessing the Comprehension of UML Class Diagrams via Eye Tracking , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[20]  Stéphane Ducasse,et al.  Polymetric Views - A Lightweight Visual Approach to Reverse Engineering , 2003, IEEE Trans. Software Eng..

[21]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[22]  Danilo Caivano,et al.  Does the use of stereotypes improve the comprehension of UML sequence diagrams? , 2008, ESEM '08.