Adrian Hoff

dblp:251/8334 · DBLP profile ↗
← Back
8ranked-venue papers
7as first author
7since 2021 · last 2024
0000-0002-5254-6246ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 8 · 7 first-author · 7 since 2021Human-computer interaction and ubiquitous computing · 1 · 1 first-author · 1 since 2021
YearPublicationVenuePosition
2024 GitTruck@Duck - Interactive Time Range Selection in Hierarchy-Oriented Polymetric Visualization of Git Repository Evolution
abstract
In this work, we present GitTruck@Duck; a web-powered software visualization tool that combines hierarchical file structure with configurable software evolution and collab-oration metrics on adjustable time ranges. In an automated mining process, Git Truck aggregates a system's Git history using an in-memory relational database, along with an algorithm for detecting the renaming of files over time. Users can explore the Git history in a 2D hierarchical visualization of folders and files, where they encode evolution and collaboration metrics (e.g., top contributors or last change date) on the size and color of the marks that represent files. Users can gain fine-grain control over these metrics by specifying the time ranges for inspection.
Adrian Hoff, Thomas Hoffmann Kilbak, Leonel Merino, Mircea Lungu
ICSME1
2024 Collaborative Software Exploration with Multimedia Note Taking in Virtual Reality
abstract
Exploring and comprehending a software system, e.g., as preparation for its re-engineering, is a relevant, yet challenging endeavour often conducted by teams of engineers. Collaborative exploration tools aim to ease the process, e.g., via interactive visualizations in virtual reality (VR). However, these neglect to provide engineers with capabilities for persisting their thoughts and findings.
Adrian Hoff, Mircea Lungu, Christoph Seidl 0001, Michele Lanza 0001
ICPC1
2024 Immersive Software Archaeology: Collaborative Exploration and Note Taking in Virtual Reality
abstract
Understanding software systems is a vital task, often undertaken by teams of engineers, for the development and maintenance of systems. Collaborative software visualization tools are essential in this context, yet they are limited. Existing tools, particularly in virtual reality, allow exploration but lack the crucial feature of note-taking, which is a significant limitation.
Adrian Hoff, Mircea Lungu, Christoph Seidl 0001, Michele Lanza 0001
ICPC1
2024 Immersive Software Archaeology: Exploring Software Architecture and Design in Virtual Reality
abstract
Comprehending large-scale software systems is a challenging and daunting task, particularly when only source code is available. While software visualization attempts to aid that process, existing tools primarily visualize a system's structure in terms of files, folders, packages, or namespaces, neglecting its logical decomposition into cohesive architectural components. We present the tool Immersive Software Archaeology (ISA) which (i) estimates a view of a system's architecture by utilizing concepts from software architecture recovery and (ii) visualizes the results in virtual reality (VR) so that users can explore a subject system interactively, making the process more engaging. In VR, a semantic zoom lets users gradually transition between architectural components of different granularity and class-level elements while relationship graphs let users navigate along connections across classes and architectural components. We present results from a controlled experiment with 54 partic-ipants to investigate the usefulness of ISA for assisting engineers with exploring an unfamiliar large-scale system compared to another state-of-the-art VR approach and an IDE. Video Demonstration-https://youtu.belFl_SsT1314k
Adrian Hoff, Christoph Seidl 0001, Michele Lanza 0001
SANER1
2023 Preparing Software Re-Engineering via Freehand Sketches in Virtual Reality
abstract
Re-architecting a software system requires significant preparation, e.g., to scope and design new modules with their boundaries and constituent classes. When planning an intended future state of a system as a re-engineering goal, engineers often fall recur to mechanisms such as freehand sketching (using a whiteboard). While this ensures flexibility and expressiveness, the sketches remain disconnected from the source code. The alternative, tool-supported diagramming on the other hand considerably restricts flexibility and impedes free-form communication.We present a method for preparing the architectural software re-engineering via freehand sketches in virtual reality (VR) that can be seamlessly integrated with the model structure of a software visualization and, thus, also the code of a system, for productive use: Engineers explore a subject system in the immersive visualization, while freehand sketching their insights and plans. Our concept automatically interprets sketched shapes and connects them to the system’s source code, and superimposes code-level references into a sketch to support engineers in reflecting on their sketches.We evaluated our method in an iterative interview-based case study with software developers from four different companies, where they planned a hypothetical re-engineering of an open-source software system.
Adrian Hoff, Christoph Seidl 0001, Mircea Lungu, Michele Lanza 0001
ICSME1
2022 Utilizing Software Architecture Recovery to Explore Large-Scale Software Systems in Virtual Reality
abstract
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 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 class to its containing component. 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.
Adrian Hoff, Lea Kristin Gerling, Christoph Seidl 0001
VISSOFT1
2021 Towards immersive software archaeology: regaining legacy systems' design knowledge via interactive exploration in virtual reality
abstract
Many of today's software systems will become the legacy systems of tomorrow, comprised of outdated technology and inaccurate design documents. Preparing for their eventual re-engineering requires engineers to regain lost design knowledge and discover re-engineering opportunities. While tools and visualizations exist, comprehending an unfamiliar code base remains challenging. Hence, software archaeology suffers from a considerable entry barrier as it requires expert knowledge, significant diligence, tenacity, and stamina. In this paper, we propose a paradigm shift in how legacy systems' design knowledge can be regained by presenting our vision for an immersive explorable software visualization in virtual reality (VR). We propose innovative concepts leveraging benefits of VR for a) immersion in an exoteric visualization metaphor, b) effective navigation and orientation, c) guiding exploration, and d) maintaining a link to the implementation. By enabling immersive and playful legacy system exploration, we strive for lowering the entry barrier, fostering long-term engagement, strengthening mental-model building, and improving knowledge retention in an effort to ease coping with the increased number of tomorrow's legacy systems.
Adrian Hoff, Michael Nieke, Christoph Seidl 0001
ESEC/SIGSOFT FSE1
2019 Automated metamodel augmentation for seamless model evolution tracking and planning
abstract
In model-based software engineering, models are central artifacts used for management, design and implementation. To meet new requirements, engineers need to plan and perform model evolution. So far, model evolution histories are captured using Version Control Systems (VCSs), e.g., Git. However, these systems are unsuitable for planning model evolution as they do not have a notion of future changes. Furthermore, formally assigning responsibilities to engineers for performing evolution of model parts is achieved by using additional tools for access control. To remedy these shortcomings, we provide a method to generate evolution-aware modeling notations by augmenting existing metamodels with concepts for capturing past and planned evolution as first-class entity. Our method enables engineers to seamlessly plan future model evolution while actively developing the current model state, both using a centralized access point for evolution. In our evaluation, we provide an implementation of our method in the tool TemporalRegulator3000, show applicability for real-world metamodels, and capture the entire evolution time line of corresponding models.
Michael Nieke, Adrian Hoff, Christoph Seidl 0001
GPCE2