Skip to search boxSkip to navigationSkip to main content

Immersive Software Archaeology: Comprehending Software Structure through Interactive Visualization in Virtual Reality

  • Adrian Hoff
Research Output:
Theses
PhD thesis

Open access

Publication Information

Output type

Research Output:
Theses
PhD thesis

Original language

English

Qualification

PhD

Publication milestones

  • Published - 2024

Publication status

Published - 2024

Supervisors/Advisors

  • Mircea Lungu (Principal Supervisor)
  • Christoph Seidl (Co-supervisor)

Place of publication

Copenhagen

Award date

24/09/2024

Publisher

IT-Universitetet i København, Denmark

Book series

  • Book series name: ITU-DS
    Series number: 226
    ISSN: 1602-3536
978-87-7949-523-4

Abstract

Comprehending existing software systems is an activity relevant for, e.g., preparing the re-engineering of a legacy system. It is often complicated by missing or incomplete documentation and the absence of a system's original developers, making source code the only reliable source of information. However, exploring a software system solely by reading through its source code is a tedious and challenging task that, if possible at all, requires significant stamina and motivation. Visualizations can offer an overview of otherwise complex source code bases, making them a valuable tool for assisting software engineers in this exploration process.

In this thesis, I present work on utilizing virtual reality (VR) to provide teams of software engineers with interactive, synchronized multi-user visualizations of source code, for the purpose of exploring software architecture while taking notes on insights and planning future actions. To foster software architecture exploration, the presented VR visualization methods are based on results from automated software clustering techniques. Further, they introduce concepts for mixing automatically interpreted freehand drawing in VR with multimedia annotations, so that engineers can explore software systems in long-lived sessions.

I demonstrate the presented visualization methods in tool implementations and assess via empirical studies their suitability for assisting engineers in comprehending software systems. The results of the studies show that VR software visualization is suitable for assisting engineers -- especially those with less experience -- in comprehending a subject system's architectural structure. Regarding note-taking, the studies demonstrate that freehand sketching in VR is useful for capturing high-level views on system architecture, while multi-media annotations (such as audio recordings) are a valuable means for more general notes. Lastly, the studies show that software engineers value synchronized multi-user VR software visualization for focused exploration sessions with vivid communication where even with little training and despite their unfamiliarity with VR, engineers are able to gain correct insights into a subject system.

Access to documents

Final published version, 8.09 MB