Werkzeug zum Sammeln von Problemen in einem Projekt, sowie deren Beurteilung


Hintergrund: Die aktuellen Entwicklungen im Bereich Large Language Models legen nahe, dass neben der bereits vielfach eingesetzten Unterstützung beim Schreiben von neuem Code auch Potenzial bei der Wartung von bestehendem Code vorhanden ist. Während uns statische Werkzeuge wie SonarQube hier bereits viele Informationen liefern können, gibt es dennoch andere Arten von Problemen mit Code, die SonarQube & Co schlecht erkennen. Beispielsweise wenn ein Verständnis der Semantik des Codes erforderlich ist, könnten KI-basierte Werkzeuge möglicherweise eine bessere Problemerkennung bieten.

Ziel der Arbeit: Ziel dieser Masterarbeit ist es, mittels Design Science ein Werkzeug zu entwickeln, mit welchem automatisiert ein Java-Projekt mithilfe der OpenAI API auf Probleme geprüft werden kann. Dabei sollen die Prompts nicht hard-coded direkt im Werkzeug eingebaut, sondern konfigurierbar sein. Das eigentliche Prompt Engineering ist auch nicht als Ziel der Arbeit vorgesehen. Der zweite zentrale Aspekt ist vielmehr die Bewertung der Ergebnisse der Problemfindung. Damit können Daten gesammelt werden über die Eignung des verwendeten GenAI-Modells für den gegebenen Anwendungsfall.

Aufgaben:

  • Literaturanalyse zu Related Work
  • Entwicklung des Werkzeuges
    • Webservice, das wir am Institut hosten können, angebunden an ein Single-Sign-On
    • Oberfläche für Entwickler:innen, wo Code auf Probleme untersucht werden kann
    • Bewertungsmöglichkeit für die Ergebnisse
      • ✓ / × / ~
      • Kommentarfeld
      • Möglichkeit zum Editieren des Prompts
      • Möglichkeit zum Abwählen einer Regel
    • Admin-Oberfläche
    • Oberfläche für Auswertungen zur Performance
  • Anwendung & Validierung des Werkzeuges

Erwartete Ergebnisse:

  • Codeanalyse- und Bewertungswerkzeug
  • Detaillierte Analyse des Werkzeuges in Richtung Anwendbarkeit, Zuverlässigkeit, Korrektheit, Effizienz

Betreuung: Reinhold Plösch

Entwicklung eines Werkzeuges für die Beurteilung von durch GPT gefundenen Problemen in Java Code