Interactive Role Stereotype-Based Visualization to Comprehend Software Architecture
Paper in proceeding, 2020
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
Author
Truong Ho-Quang
Chalmers, Computer Science and Engineering (Chalmers), Software Engineering (Chalmers)
Alexandre Bergel
University of Chile (UCH)
Arif Nurwidyantoro
Monash University
Rodi Jolak
University of Gothenburg
Michel Chaudron
University of Gothenburg
Proceedings - 8th IEEE Working Conference on Software Visualization, VISSOFT 2020
122-132 9240493
Virtual, Online, Australia,
Areas of Advance
Information and Communication Technology
Subject Categories
Human Aspects of ICT
Software Engineering
Human Computer Interaction
Learning and teaching
Pedagogical work
DOI
10.1109/VISSOFT51673.2020.00018