TU Berlin

Institut für TelekommunikationssystemeMT: Design and Development of Methods for Named Entity Recognition in Log Messages

Inhalt

zur Navigation

MA: Entwurf und Entwicklung von Methoden zur Erkennung von benannten Entitäten in Log-Nachrichten

Zielsetzung

Moderne Softwareentwicklung und -betrieb basieren auf dem Konzept der DevOps und werden durch sogenannten 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 orchestriert Jenkins die Teilschritte einer CI/CD-Pipeline, SonarQube kümmert sich um die statische Code-Analyse, Maven oder Gradle übernehmen das Management der Builds. 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, das durch die Analyse von 2000+ GitHub Projekte trainiert wurde. Sie soll ein Konzept und eine prototypische Implementierung für die Erkennung von benannten Entitäten in Log-Nachrichten erarbeiten. Die Herausforderung besteht darin, Artefakte in den Freitexten einer Log-Nachricht mit statistischen und Deep-Learning-Methoden zu analysieren und die darin enthaltenen Datentypen wie Klassen, Funktionen, IP-Adressen, Zeitstempel und andere Entitäten zuverlässig zu identifizieren. Die Ergebnisse der Analyse werden in eine strukturierte Form überführt und als Eingabe für die nachfolgende Erkennung von Anomalien und Incidents verwendet.

Die Qualität der entwickelten Methoden soll in der produktiven Umgebung unter Berücksichtigung von realen Anwendungsfällen und den entsprechenden Log-Nachrichten evaluiert 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)

Navigation

Direktzugang

Schnellnavigation zur Seite über Nummerneingabe