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

Adrian Hoff

    Research output: ThesesPhD thesis

    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.
    Original languageEnglish
    QualificationPhD
    Supervisor(s)
    • Lungu, Mircea, Principal Supervisor
    • Seidl, Christoph, Co-supervisor
    Award date24 Sept 2024
    Place of PublicationCopenhagen
    Publisher
    Print ISBNs978-87-7949-523-4
    Publication statusPublished - 2024

    Fingerprint

    Dive into the research topics of 'Immersive Software Archaeology: Comprehending Software Structure through Interactive Visualization in Virtual Reality'. Together they form a unique fingerprint.

    Cite this