Kohlhammer, JörnReynolds, Steven LamarrKuijper, ArjanRapp, CynthiaCynthiaRapp2025-08-202025-08-202025https://publica.fraunhofer.de/handle/publica/490809Moderne Softwaresysteme entwickeln sich kontinuierlich weiter und wachsen dabei in Umfang und Komplexität. Das Verständnis dieser Evolution ist entscheidend für Entwickelnde in der Wartung, Fehlersuche und Qualitätssicherung. Die Nachvollziehbarkeit struktureller Änderungen, Metriken und auftretender Schwachstellen über den Verlauf der Projektgeschichte hinweg bleibt jedoch aufgrund der enormen Datenmenge eine Herausforderung. Informationsvisualisierung kann dabei helfen, solche Daten in kohärente visuelle Darstellungen zu überführen, die kognitive Belastung zu reduzieren und tiefere Einblicke zu ermöglichen. Viele bestehende Ansätze visualisieren jedoch entweder ausschließlich die strukturelle Evolution ohne Integration relevanter Artefakte oder setzen auf mehrere verknüpfte Ansichten, die unter Umständen eher zur Komplexitätssteigerung als -reduktion beitragen. Diese Arbeit adressiert diese Herausforderungen mit einem neuartigen Visualisierungsansatz für Softwareevolution, der strukturelle, metrische und sicherheitsrelevante Informationen in einer einheitlichen Darstellung kombiniert. Als Datenquelle dient Git, das aufgrund seiner weiten Verbreitung als Versionskontrollsystem und seiner umfangreichen, commit-basierten Evolutionsdaten besonders geeignet ist. Während Plattformen wie GitLab lediglich den Vergleich zweier Versionen auf Code-Ebene ermöglichen, stoßen sie bei der Darstellung größerer struktureller Änderungen über längere Zeiträume hinweg schnell an ihre Grenzen. Ziel dieser Arbeit ist es daher, Entwickelnde bei der Analyse und dem Verständnis der Projektentwicklung über viele Commits hinweg mit möglichst geringer kognitiver Belastung zu unterstützen. Die vorgeschlagene Visualisierung basiert auf ausgerichteten Icicle Plots, die die Ordnerstruktur jedes Commits nebeneinander entlang einer Zeitachse darstellen. Dies ermöglicht den Versionsvergleich unter Nutzung der starken visuellen Variable Position. Weitere Artefakte - wie Änderungen, Lines of Code (LOC) und Schwachstellen - werden direkt in die strukturelle Darstellung integriert, wodurch separate Ansichten vermieden werden und der Kontext erhalten bleibt. Ein Papierprototyp und eine formative Studie dienten als Grundlage für die Entwicklung eines webbasierten, interakiven Prototyps. Der finale Prototyp wurde in einer Usability-Studie mit zehn Teilnehmenden evaluiert, die Aufgaben zur Analyse von Softwareevolution durchführten. Dazu gehörten unter anderem das Identifizieren struktureller Änderungen, der Versionsvergleich sowie die Nachverfolgung der Entwicklung spezifischer Schwachstellen. Die Ergebnisse der Evaluation legen nahe, dass die kombinierte Nutzung von Alignment und farbcodierten Informationen das Verständnis von Versionsunterschieden und Artefaktverläufen wirksam unterstützt. Besonders geschätzt wurde die integrierte Darstellung von Schwachstellen über die Zeit hinweg, die in diesem Kontext nach aktuellem Kenntnisstand als neuartig gilt. Diese Arbeit zeigt den Mehrwert der Integration mehrdimensionaler Evolutionsdaten in ein kohärentes, kontextwahrendes Layout. Der vorgestellte Ansatz trägt zu einem kognitiv effizienten Werkzeug für retrospektive Analysen bei.Modern software systems continuously evolve and grow in size and complexity. Understanding this evolution is critical for developers performing maintenance, debugging, and quality assurance. Yet, making sense of structural changes, metrics, and emerging vulnerabilities across a project’s history remains challenging, due to the sheer volume of data. Information visualization can help by translating such data into coherent visual representations, reducing cognitive load and supporting deeper insight. However, many existing tools either visualize only structural evolution without integrating related artifacts, or rely on multiple linked views that may increase complexity rather than reduce it. This thesis addresses these challenges by proposing a novel visualization approach for software evolution, focused on combining structural, metric, and vulnerability information in a single unified view. Git is used as a data source, given its widespread use as a version control system and its rich commit-based evolution data. While platforms like GitLab provide code-level comparison between two versions, they are limited in conveying larger-scale structural changes over time. The goal of this work is to support developers in analyzing and understanding project history across many commits with minimal cognitive overhead. The visualization is based on aligned icicle plots, which represent the directory hierarchy of each commit side-by-side on a timeline. This enables comparison across versions using the strong visual variable position. Additional artifacts - such as changes, Lines of Code (LOC), and vulnerabilities - are integrated directly into the structural layout, avoiding the need for separate views and preserving context. A paper prototype and formative study informed the development of a web-based interactive prototype. The final prototype was evaluated in a usability study with ten participants performing software evolution analysis tasks, including identifying structural changes, comparing versions, and tracing the development of specific vulnerabilities. Results of the evaluation suggest that the combined use of alignment and color-encoded artifact information supports understanding of version differences and evolution. Participants especially valued the integrated view of vulnerabilities over time, which is novel in this context to the best of knowledge. This work demonstrates the value of integrating multiple dimensions of software history into a coherent, context-preserving layout. The approach contributes a cognitive-efficient tool for retrospective analysis.enBranche: Manufacturing and MobilityBranche: HealthcareBranche: Cultural and Creative EconomyResearch Line: Computer graphics (CG)Research Line: Modeling (MOD)Research Line: Machine learning (ML)LTA: Scalable architectures for massive data setsLTA: Generation, capture, processing, and output of images and 3D models3D PrintingVector graphicsDistance fieldVisualization of the Hierarchical Structure and Artifact Evolution of Software CodeVisualisierung von hierarchischen Strukturen und Artefakt-Evolution von Software Codemaster thesis