TY - GEN
T1 - Utilizing Software Architecture Recovery to Explore Large-Scale Software Systems in Virtual Reality
AU - Hoff, Adrian
AU - Gerling, Lea
AU - Seidl, Christoph
PY - 2022/10
Y1 - 2022/10
N2 - Exploring an unfamiliar large-scale software system is challenging especially when based solely on source code. While software visualizations help in gaining an overview of a system, they generally neglect architecture knowledge in their representations, e.g., by arranging elements along package structures rather than functional components or locking users in a specific abstraction level only slightly above the source code. In this paper, we introduce an automated approach for software architecture recovery and use its results in an immersive 3D virtual reality software visualization to aid accessing and relating architecture knowledge. We further provide a semantic zoom that allows a user to access and relate information both horizontally on the same abstraction level, e.g., by following method calls, and vertically across different abstraction levels, e.g., from a member to its parent class. We evaluate our contribution in a controlled experiment contrasting the usefulness regarding software exploration and comprehension of our concepts with those of the established CityVR visualization and the Eclipse IDE.
AB - Exploring an unfamiliar large-scale software system is challenging especially when based solely on source code. While software visualizations help in gaining an overview of a system, they generally neglect architecture knowledge in their representations, e.g., by arranging elements along package structures rather than functional components or locking users in a specific abstraction level only slightly above the source code. In this paper, we introduce an automated approach for software architecture recovery and use its results in an immersive 3D virtual reality software visualization to aid accessing and relating architecture knowledge. We further provide a semantic zoom that allows a user to access and relate information both horizontally on the same abstraction level, e.g., by following method calls, and vertically across different abstraction levels, e.g., from a member to its parent class. We evaluate our contribution in a controlled experiment contrasting the usefulness regarding software exploration and comprehension of our concepts with those of the established CityVR visualization and the Eclipse IDE.
KW - Software Visualization
KW - Virtual Reality
KW - Software Architecture Recovery
KW - Empirical Software Engineering
U2 - 10.1109/VISSOFT55257.2022.00020
DO - 10.1109/VISSOFT55257.2022.00020
M3 - Article in proceedings
SN - 978-1-6654-8093-2
BT - 2022 Working Conference on Software Visualization (VISSOFT)
PB - IEEE
ER -