direkt zum Inhalt springen

direkt zum Hauptnavigationsmenü

Sie sind hier

TU Berlin

Inhalt des Dokuments

MA: Entwurf und Entwicklung von Methoden zur sprachunabhängigen Auffindung und Extraktion von Log-Nachrichten aus Code-Repositories

Zielsetzung

Moderne Softwareentwicklung und -betrieb basieren auf dem Konzept der DevOps und werden durch CI/CD Pipelines unterstützt, welche üblicherweise die Bausteine Code – Build – Test - Release – Deploy – Verify – Monitor abbilden. Für jeden dieser Schritte gibt es zahlreiche Werkzeuge, zum Beispiel Jenkins, SonarQube, Maven oder Gradle. Alle diese Komponenten erzeugen Daten – Log-Nachrichten – mit aufschlussreichen Informationen über die Qualität der Softwareprogrammierung, Schwachpunkte beim Deployment oder Laufzeitfehler. Oft entstehen  mehr als 100.000 Nachrichten pro Version und pro Update, die von den DevOps – meistens manuell und zeitaufwendig mit Werkzeugen wie grep oder awk – nach Fehlern untersucht werden. Eine signifikante Beschleunigung entsteht durch den Einsatz von AI4DevOps-Werkzeugen: KI-Modelle werden durch Beispieldaten von Open Source Projekten so trainiert, dass sie die Log-Nachrichten aus der CI/CD-Pipeline durchsuchen und jene Nachrichten präsentieren, welche vermutlich auf die schwerwiegenden Fehler hinweisen. 

Die ausgeschriebene Masterarbeit setzt auf ein existierendes KI-Modell auf und soll ein Konzept und eine prototypische Implementierung für ein sprachunabhängiges Mining von Log-Nachrichten aus Software-Repositories umsetzen. Solche Code-Repositories (z.B. github) enthalten zahlreiche Open-Source-Projekte, die wertvollen Input für das Training von KI-Modellen liefern. Da die manuelle Suche und Kennzeichnung viel zu zeitaufwendig ist, sollen die in dieser Arbeit entwickelten Methoden den Prozess so  automatisieren, dass die im Quellcode enthaltenen Log-Nachrichten (Dateiname und Zeilennummer) gefunden, extrahiert und in einer strukturierten Ausgabe gespeichert werden. Das Ergebnis wird dann für das Training von KI-gestützten Tools zur Erkennung von Anomalien und Incidents verwendet. Bestehende Methoden aus der natürlichen Sprachverarbeitung (NLP) sowie typische RegEx-Suchwerkzeuge dienen als Ausgangspunkt für die Analyse des Quellcodes. Die Qualität der Entwicklung soll im Hinblick auf Präzision, Recall und effiziente Verarbeitung bewertet werden. 

Anforderungen

Kenntnisse über Softwareentwicklungsprozesse, verteilte Systeme, CI/CD, Python, maschinelles Lernen, DevOps-Entwicklungsmuster. Wünschenswert sind fortgeschrittene Python-Kenntnisse sowie Erfahrung in Pytorch/Tensorflow, Kotlin/Java

Beginn: ab sofort

Kontakt: Prof. Dr. Odej Kao (odej.kao@tu-berlin.de)

Zusatzinformationen / Extras

Direktzugang:

Schnellnavigation zur Seite über Nummerneingabe

Ansprechpartner

Odej Kao
+49 30 314-25154 (Sekr.)
Raum TEL 1206/7