Personal details
| Title | Analyse und Unterstützung von Code Reviews in GitLab |
| Description | Code Reviews sind ein wichtiger Bestandteil moderner Softwareentwicklungsprozesse. Durch die gemeinsame Betrachtung von Änderungen können Fehler frühzeitig erkannt, Wissen innerhalb eines Teams verteilt und die Qualität des Quellcodes verbessert werden. GitLab unterstützt Code Reviews über Merge Requests und stellt unter anderem Kommentare, Reviewer und Freigaben zur Verfügung. Die Qualität eines Reviews hängt jedoch stark davon ab, wie dieser Prozess innerhalb eines Teams tatsächlich durchgeführt wird. Insbesondere bei studentischen Softwareprojekten treten häufig typische Probleme auf: Merge Requests werden ohne ausführliches Review zusammengeführt, Reviews finden erst kurz vor einem Milestone statt, Änderungen sind sehr umfangreich oder Reviews konzentrieren sich auf wenige Teammitglieder. Ziel dieser Abschlussarbeit ist die Konzeption und Entwicklung einer webbasierten Anwendung, die Code-Review-Prozesse in GitLab analysiert und Teams bei der Durchführung effektiver Reviews unterstützt. |
| Home institution | Department of Computing Science |
| Associated institutions |
|
| Type of work | practical / application-focused |
| Type of thesis | Bachelor's or Master's degree |
| Author | Dr. Marco Grawunder |
| Status | reserved |
| Problem statement | Im Rahmen der Arbeit soll zunächst untersucht werden, welche Informationen GitLab zu Merge Requests und Code Reviews bereitstellt und welche Merkmale auf gute bzw. problematische Review-Prozesse hinweisen können. Darauf aufbauend soll ein System entwickelt werden, das Merge Requests automatisiert analysiert und geeignete Informationen über deren Review-Prozess bereitstellt. Mögliche Analysen sind beispielsweise:
Unterstützung des Review-ProzessesNeben der Analyse bereits durchgeführter Reviews kann das System Entwicklerinnen und Entwickler aktiv unterstützen. Mögliche Hinweise wären beispielsweise:
Ein weiterer möglicher Schwerpunkt ist die Empfehlung geeigneter Reviewer. Reviewer-EmpfehlungenEin System zur Reviewer-Empfehlung könnte unter anderem berücksichtigen:
Dabei muss nicht zwingend immer die Person empfohlen werden, die den betroffenen Code bereits besonders gut kennt. Gerade in studentischen Teams könnte es sinnvoll sein, Reviewer so auszuwählen, dass Wissen gezielt innerhalb des Teams verteilt wird. Damit ergibt sich ein Spannungsfeld zwischen effizientem Review und Wissenstransfer. Technische UmsetzungDie Anwendung soll als eigenständige Webanwendung umgesetzt und über die GitLab-Schnittstellen angebunden werden. Für die Umsetzung bieten sich beispielsweise an:
Die Anwendung soll GitLab nicht ersetzen, sondern bestehende Merge-Request- und Review-Prozesse um zusätzliche Analyse- und Unterstützungsfunktionen erweitern. Mögliche FragestellungenMögliche Forschungsfragen sind beispielsweise:
EvaluationDas entwickelte System soll anhand realer oder historischer GitLab-Projekte evaluiert werden. Dabei kann beispielsweise untersucht werden:
Eine Evaluation könnte sowohl anhand vorhandener Projektdaten als auch durch eine Benutzerstudie erfolgen. Erwartete ErgebnisseErwartet werden:
Für eine Bachelorarbeit kann der Schwerpunkt auf der Analyse und Visualisierung bestehender Code Reviews liegen. Für eine Masterarbeit bieten sich weitergehende Verfahren zur Reviewer-Empfehlung, zum Wissenstransfer oder zur automatischen Erkennung problematischer Review-Muster an. |
| Requirement | Hilfreich sind Kenntnisse in Software Engineering und Webentwicklung. Erfahrungen mit Git, GitLab, Spring Boot oder Angular/TypeScript sind von Vorteil. Für weitergehende Analyseverfahren sind außerdem Kenntnisse in Algorithmen, Datenanalyse oder Software-Mining hilfreich. |
| Created | 30/09/26 |