Fine-Tuning von Large Language Models für die Generierung syntaktisch korrekter Domain Specific Languages

Themenfeld

Large Language Models haben in den letzten Jahren bemerkenswerte Fortschritte bei der automatischen Code-Generierung für etablierte Programmiersprachen erzielt. Bei neu definierten oder weniger verbreiteten Domain Specific Languages (DSLs) zeigen diese Modelle jedoch erhebliche Schwächen, da entsprechende Trainingsdaten in den ursprünglichen Datensätzen unterrepräsentiert oder völlig absent sind. Diese Limitation führt zu syntaktisch inkorrekten Ausgaben und schränkt die praktische Anwendbarkeit von LLMs in spezialisierten Domänen erheblich ein. Durch gezieltes Fine-Tuning vortrainierter Modelle mit domänenspezifischen Daten lässt sich diese Problematik adressieren und die Generierungsqualität für DSLs signifikant verbessern.

Aufgabenstellung

In dieser Forschungsarbeit soll am Beispiel der Universal Variability Language (UVL) untersucht werden, wie durch Fine-Tuning eines vortrainierten Large Language Models die syntaktische Korrektheit generierter DSL-Ausgaben verbessert werden kann. Dazu wird zunächst die aktuelle Leistungsfähigkeit bestehender LLMs bei der UVL-Generierung analysiert und ein geeigneter UVL-Trainingsdatensatz erstellt und aufbereitet. Anschließend wird das Fine-Tuning-Verfahren implementiert und durchgeführt, wobei geeignete Evaluationsmetriken zur Bewertung der syntaktischen Korrektheit entwickelt werden. Die Leistung des fine-getunten Modells wird systematisch mit dem ursprünglichen Basis-Modell verglichen und die Ergebnisse in einer umfassenden Dokumentation dargestellt.

Vorkenntnisse

- Grundlagen des Machine Learning und Deep Learning
- Erfahrung mit Python und ML-Frameworks (PyTorch, Transformers, Hugging Face)
- Kenntnisse in Natural Language Processing (insbesondere Large Language Models)



Ansprechpartner

Johannes Stuempfle

Feature Location systematisieren: Eine umfassende Analyse von Definitionen, Methoden und Benchmarks

Themenfeld

Feature Location (FL) ist eine wichtige Aktivität im Software Engineering, die eine Verbindung zwischen Softwarefunktionen und deren Implementierung im Code herstellt. Das Hauptziel von FL ist es herauszufinden, wo bestimmte Features – also Funktionalitäten, die Benutzer sehen können – im Quellcode implementiert sind.
Obwohl FL entscheidend für das Verstehen von Programmen, die Wartung von Software und die Entwicklung von Software-Produktlinien ist, gibt es in der Forschung mehrere Uneinigkeiten. Das größte Problem ist, dass es keine einheitliche Definition von "Feature Location" gibt. Verschiedene FL-Techniken funktionieren auch sehr unterschiedlich: Manche konzentrieren sich nur auf einzelne Softwaresysteme, andere auf ganze Systemfamilien.
Eine weitere Uneinigkeit ist, ob das Identifizieren von Features Teil von FL ist oder ein separater Schritt. Einige Methoden gehen davon aus, dass Features bereits bekannt sind, während andere sie erst identifizieren müssen. Zusätzlich fehlen standardisierte Benchmarks, wodurch es schwierig ist, verschiedene FL-Techniken miteinander zu vergleichen.

Aufgabenstellung

In dieser Forschungsarbeit soll eine umfassende Literaturübersicht erstellt werden, die die Uneinigkeiten der Feature Location aufzeigt. Dazu sollen FL-Definitionen kategorisiert, typische Anwendungsbereiche identifiziert, Verbindungen zu verwandten Aktivitäten aufgezeigt und Bewertungsmethoden zusammengefasst werden. Das Ergebnis soll ein Framework für bessere Vergleiche sein. Eine solche Übersicht würde vorhandenes Wissen bündeln und eine Basis für zukünftige, besser vergleichbare Forschung schaffen – und damit zu effektiveren Lösungen für diese wichtige Software-Engineering-Herausforderung beitragen.

Vorkenntnisse

- Sehr gute Kentnisse des Software Engineerings
- Selbstständiges Arbeiten
- Sehr gute Englisch-Kentnisse
- Interesse an Literarturrecherchen

Ansprechpartner

Johannes Stuempfle

Physikalisch bedingte Optimierung für graphenbasierte geometrische Rekonstruktion

Themenfeld

Diese Masterarbeit untersucht die Integration von physikalischen Gesetzen und Beschränkungen in graphenbasierte geometrische Rekonstruktionsprozesse. Die Forschung konzentriert sich auf die Entwicklung von Optimierungsrahmen, die nicht nur geometrische Strukturen rekonstruieren, die als Graphen dargestellt werden, sondern auch sicherstellen, dass die resultierenden Strukturen grundlegende physikalische Prinzipien einhalten. Ziel ist es, eine stabilere und zuverlässigere Optimierung zu erreichen. Durch die Einbeziehung von physikalischen Einschränkungen wie strukturelle Stabilität und physikalische Machbarkeit führt der Rekonstruktionsprozess zu Ergebnissen, die sowohl geometrisch genau als auch physikalisch plausibel sind.

Aufgabenstellung

Du entwickelst einen mathematischen Rahmen für die physikbeschränkte Graphenoptimierung, der relevante physikalische Eigenschaften in den Rekonstruktionsprozess einbezieht. Der Rahmen wird anhand einer FEM-Fallstudie evaluiert.

Vorkenntnisse

- Kenntnisse der mathematischen Grundlagen des maschinellen Lernens.
- Beherrschung von mindestens einem Graphenverarbeitungssystem (PyG, DGL, GraphScope).
- Erfahrung mit neuronalen Netzwerkarchitekturen.
- Gutes Englisch -> Die Arbeit sollte auf Englisch geschrieben werden.
- Programmierkenntnisse in Python, C++ oder Zig.

Ansprechpartner

Sebastian Baum