<div class="csl-bib-body">
<div class="csl-entry">Pilz, M. (2024). <i>A Graph-Based Source Code Multi-Diff Visualization</i> [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2024.124246</div>
</div>
-
dc.identifier.uri
https://doi.org/10.34726/hss.2024.124246
-
dc.identifier.uri
http://hdl.handle.net/20.500.12708/203444
-
dc.description
Arbeit an der Bibliothek noch nicht eingelangt - Daten nicht geprüft
-
dc.description
Abweichender Titel nach Übersetzung der Verfasserin/des Verfassers
-
dc.description.abstract
Softwareentwickler verwenden Versionskontrollsysteme (VCSs) zur Verwaltung von Versionen und Koordination der Entwicklung. Um Einblicke in die Evolution des Source Codes eines Projektes zu erhalten, wurden Werkzeuge entwickelt: Mining Software Repositories (MSR)-Werkzeuge extrahieren Information aus dem Projektrepositorium und Visualisierungen machen diese Information für Menschen leichter verständlich. Seit Mitte der 2000er-Jahre sind verteilte Versionskontrollsysteme (DVCSs) vorherrschend geworden. Aufgrund der guten Unterstützung von Verzweigungen und Zusammenführung dieser Systeme haben sich Entwicklungsprozesse etabliert, welche sich auf diese Fähigkeiten verlassen. Der Großteil der Forschung auf den Gebieten von MSR und Visualisierungen konzentriert sich jedoch nach wie vor auf rein lineare Historien. In dieser Diplomarbeit wird eine dreidimensionale Visualisierung der Historie einer einzelnen Datei in einem VCS-Repositorium vorgestellt. Das Ziel ist es, einen Prototypen zu entwickeln um die Machbarkeit einer solchen Visualisierung zu demonstrieren und ihren Nutzen beim Verstehen von Codeevolution mit verzweigter Historie zu evaluieren. Um den Stand der Technik in den Gebieten von MSR und Softwarevisualisierung und seine Mängel im Kontext von verzweigten Historien zu ermitteln, wurde eine Literatur- und Toolrecherche durchgeführt. Aufgrund der Ergebnisse und der persönlichen Erfahrung des Autors mit solchen Werkzeugen, wurde ein Visualisierungskonzept entwickelt und eine Liste von Features vorgeschlagen. Das Konzept wurde durch semistrukturierte Interviews mit Entwicklern evaluiert, wobei Mockups zur Erklärung verwendet wurden. Mit den Ergebnissen wurden die Features für die Entwicklung des Prototypen priorisiert, welcher in einer zweiten Runde von Interviews evaluiert wurde. Die vorgestellte Visualisierung wurde als nützlich für das Verstehen von Codeevolution in einer verzweigten Historie befunden. Auch die einzelnen Features wurden von den Interviewteilnehmern als nützlich bewertet. Für weitere Entwicklungen wurde mehr Interaktivität gefordert, als der gezeigte Prototyp bot. Integration mit existierenden Entwicklungsumgebungen und Projektmanagementwerkzeugen wird als notwendig erachtet. Desweiteren konnte gezeigt werden, dass eine Umsetzung als Web-Anwendung, ohne Einsatz spezieller Technologien für dreidimensionale Grafik, machbar ist.
de
dc.description.abstract
Software developers have been using Version Control Systems (VCSs) for the purposes of version management and development coordination. To get insights about the evolution of a project’s source code, tools have been developed: Mining Software Repositories (MSR) tools extract information from a project’s repository and visualizations are used to make the information easier to understand for humans. Since the mid-2000s, Distributed Version Control Systems (DVCSs) have become dominant. Due to their good support for branching and merging, development processes relying on these features have become common. However, the fields of MSR and software visualizations have not yet caught up; most research still focuses on purely linear history. To address this issue, a three-dimensional visualization of the history of one file in a VCS repository is proposed in this thesis. The objective is to develop a prototype to demonstrate the feasibility of such a visualization and evaluate its usefulness for understanding of code evolution in the context of branched history. A literature and tool research was performed to determine how the state of the art in the fields of MSR and software visualization is inadequate for dealing with branched VCS histories. Based on the results and the author’s own experience of working with such tools, the visualization concept was developed, including a list of proposed features. The concept was then evaluated in semi-structured interviews with developers, using mockups for explanation. The results were used to prioritize the features for the following prototype development. The prototype was then evaluated in a second set of interviews. The obtained findings indicate that the proposed visualization is purposeful for understanding the evolution of code in a branched history. The individual features were generally rated purposeful by the interview participants. For future developments, the interviewees requested more interactivity than the prototype provided. Integration with existing Integrated Development Environments (IDEs) and project management tools was deemed necessary. Implementing the proposed visualization as a Web application without dedicated technologies for three-dimensional graphics was demonstrated to be feasible.
en
dc.language
English
-
dc.language.iso
en
-
dc.rights.uri
http://rightsstatements.org/vocab/InC/1.0/
-
dc.subject
Software Visualization
en
dc.subject
Visualization of Code Evolution
en
dc.subject
History Graph
en
dc.subject
Multi-Branch Software Development
en
dc.subject
Visualization Systems and Tools
en
dc.subject
Software Engineering
en
dc.subject
Software Configuration Management and Version Control Systems
en
dc.title
A Graph-Based Source Code Multi-Diff Visualization
en
dc.type
Thesis
en
dc.type
Hochschulschrift
de
dc.rights.license
In Copyright
en
dc.rights.license
Urheberrechtsschutz
de
dc.identifier.doi
10.34726/hss.2024.124246
-
dc.contributor.affiliation
TU Wien, Österreich
-
dc.rights.holder
Mario Pilz
-
dc.publisher.place
Wien
-
tuw.version
vor
-
tuw.thesisinformation
Technische Universität Wien
-
tuw.publication.orgunit
E194 - Institut für Information Systems Engineering
-
dc.type.qualificationlevel
Diploma
-
dc.identifier.libraryid
AC17339699
-
dc.description.numberOfPages
178
-
dc.thesistype
Diplomarbeit
de
dc.thesistype
Diploma Thesis
en
dc.rights.identifier
In Copyright
en
dc.rights.identifier
Urheberrechtsschutz
de
tuw.advisor.staffStatus
staff
-
tuw.advisor.orcid
0009-0000-5622-8598
-
item.cerifentitytype
Publications
-
item.grantfulltext
open
-
item.openairetype
master thesis
-
item.fulltext
with Fulltext
-
item.openaccessfulltext
Open Access
-
item.openairecristype
http://purl.org/coar/resource_type/c_bdcc
-
item.languageiso639-1
en
-
crisitem.author.dept
E194 - Institut für Information Systems Engineering