Projekt
Vergleich von Methoden zur syntaktisch und semantisch korrekten Python-Codegenerierung durch Sprachmodelle
Die zunehmende Verbreitung generativer Sprachmodelle hat die automatische Codegenerierung in der Softwareentwicklung vorangetrieben. Trotz dieser Fortschritte weisen die erzeugten Programme häufig syntaktische und semantische Fehler auf, wie zum Beispiel bei der Nutzung externer Bibliotheken. Ziel dieser Bachelorarbei…
Die zunehmende Verbreitung generativer Sprachmodelle hat die automatische Codegenerierung in der Softwareentwicklung vorangetrieben. Trotz dieser Fortschritte weisen die erzeugten Programme häufig syntaktische und semantische Fehler auf, wie zum Beispiel bei der Nutzung externer Bibliotheken. Ziel dieser Bachelorarbeit ist es, die Wirksamkeit verschiedener Code-Generierungsmethoden zur Reduktion solcher Fehler zu evaluieren. Im Fokus stehen dabei die Methoden Temperature-Sampling, Sampling & Filtering, Post-Revising, AdapT, RoCode sowie ein neu entwickelter Context-Adaptive Sampler, der syntaktische Korrektheit durch statische Analyse und gezielte Token-Filterung garantiert. Die Arbeit gliedert sich zunächst in theoretische Grundlagen zu Sprachmodellen und formalen Sprachen, anschließend in die Beschreibung der jeweiligen Generierungsmethoden, Implementierungsdetails und schließlich den experimentellen Aufbau auf dem HumanEval-Benchmark. Für vier Qwen-Modelle (500 Millionen bis 7 Milliarden Parameter) werden PassRate, Token-Verbrauch und Generierungszeit verglichen. RoCode erreicht mit 95, 4% PassRate die höchste Performance, während der Kontext adaptive Ansatz keine syntaktischen Fehler erzeugt und gleichzeitig die schnellste Generierungszeit erzielt. AdapT verbessert die PassRate im Durchschnitt um etwa 3, 8% gegen¨uber reinem Temperature-Sampling, während Sampling & Filtering und Post-Revising den größten Token-Verbrauch aufweisen. Die Ergebnisse zeigen, dass eine Kombination aus statischer Analyse und Ausführungstests (RoCode) die beste Fehlerreduktion liefert, während der Context-Adaptive Sampler besonders effizient, modular und gezielt bestimmte Fehlerquellen eliminiert. Die Arbeit schließt mit einer Antwort auf die Forschungsfrage und Vorschläge für zukünftige Verbesserungen.