title: A Holistic and Interactive 3D Visualization of Version- Controlled Source Code Repositories
Creators: name: Zenz, Maximilian Johannes
Publisher: name: TU Wien
Year: 2024
Subjects: subject: Visualisierung
subject: Versionskontrollsystem
subject: 3D
subject: Git
subject: Binocular
subject: Unity3D
subject: Visualization
subject: Version Control System
subject: 3D
subject: Git
subject: Binocular
subject: Unity3D

description: Moderne Software wird immer umfangreicher und damit auch die Daten, die Versionskontrollsysteme erzeugen. Dies führt zu hohen Eintrittsschwellen, wenn man versucht, ein Repository zu analysieren oder wenn man einem neuen Projekt beitritt. Daher werden in einigen Fällen, um mit den riesigen Datenmengen umzugehen, Visualisierungen verwendet. Diese helfen die Analyse von großen Datenmengen zu vereinfachen. Im Rahmen dieser Arbeit wurde eine dreidimensionale Visualisierung von Versionskontrollsystemen vorgeschlagen und prototypisch umgesetzt, um zu zeigen, dass eine solche Visualisierung die Analyse eines Repositories verbessern kann.Bevor mit der Entwicklung des Prototyps begonnen wurde, wurde ein Entwurf erstellt und mit drei Experten evaluiert. Im Rahmen dieser Evaluierung wurden verschiedene vorgeschlagene Funktionen vorgestellt und erläutert. Dies half den Experten, sich ein besseres Bild von der vorgeschlagenen Visualisierung zu machen, da ähnliche Konzepte wie die in dieser Arbeit entwickelte nicht sehr verbreitet sind. Zusätzlich zu dem positiven Resultat der Evaluierung konnte unter den Teilnehmern der Evaluierung auch bereits Interesse geweckt werden, wie eine solche Visualisierung funktionieren könnte.Der entworfene und entwickelte Prototyp konzentriert sich dabei auf mehrere verschiedene Metriken wie Änderungs-, Entwickler- und Verfasserdaten, um einen umfassenden Überblick über ein Software Repository zu schaffen. Er zeigt alle Commits eines Repositories mit allen geänderten Dateien gleichzeitig an und ermöglicht es außerdem den Quellcode und die Änderungen bestimmter Dateien zu einem bestimmten Zeitpunkt zu betrachten. Der praktische Anteil dieser Arbeit liegt dabei auf dem Visualisierungsteil, der mit der Videospiel-Engine Unity3D erstellt wurde, während die Mining-Daten vom Binocular-Projekt der INSO Research Group zur Verfügung gestellt werden.Um die angestrebten Vorteile der Visualisierung zu überprüfen, wurden mehrere Interviews mit Experten geführt, die bereits mit der Analyse von versionskontrollierten Repositories vertraut sind. Diese Interviews kamen zu dem Schluss, dass das Konzept zwar vielversprechend ist und tatsächlich bei der Analyse von versionskontrollierten Repositories helfen kann, dass aber noch ein langer Weg vor uns liegt, um einen Prototyp wie den in dieser Arbeit entwickelten praxistauglich zu machen.
description: Modern software is getting bigger and bigger and thus also the data version control systems produce. This results in major issues when trying to analyze a repository or enter a new project. Therefore, in some cases to deal with the huge amounts of data, visualizations are used to collect and simplify the analysis of such. As part of this thesis, a three-dimensional version control visualization was proposed and prototyped to show that such visualization can improve the analysis workflow of a repository.Before starting the development of the prototype, a design was created and evaluated with three experts. As part of this evaluation, different proposed features were presented and explained. This helped the experts get a better idea of the proposed visualization as the concept is uncommon. This resulted in a positive outlook and curiosity about how a visualization like this could work.The designed and developed prototype thereby focused on multiple different metrics like change, developer and ownership data to create a comprehensive overview of the repository. It shows all commits of a repository with all changed files at the same time and even enables one to view the source code and changes of specific files at a specific point in time while navigating in a three-dimensional space. The main aspect of this thesis is thereby on the visualization part created with the game engine Unity3D while the mining data is provided by the Binocular Project from the INSO Research Group.To evaluate those claims multiple interviews were conducted with experts who were already familiar with analyzing version-controlled repositories. Those interviews concluded that while the concept is promising and can indeed help people to analyze version-controlled repositories, there is still a long way to go to make a prototype like the one developed in this thesis production-ready.