28. Juli 2025

Alte Systeme, neue Ansätze: Wie sich KI zur Codeanalyse nutzen lässt

Die Wartung gewachsener Softwarelandschaften ist komplex – besonders bei großen, über Jahrzehnte gewachsenen Systemen. Genau hier setzte die Bachelorarbeit von Julian Köser an, die er im Rahmen seines Studiums an der Fontys University of Applied Sciences gemeinsam mit Accso durchführte.
1060 x 710 Sigrun Brox

Autor:in

Dr. Sigrun Brox

Adobe Stock 835036448

Im Fokus stand die Frage: Wie kann Künstliche Intelligenz dabei helfen, PL/SQL-Code in Alt-Systemen besser zu verstehen? Die Antwort: mit einem selbst entwickelten Prototypen, der auf einer Retrieval-Augmented-Generation-Architektur (RAG) basiert – komplett lokal betrieben, sicher und datenschutzkonform.

Herausforderung: Komplexe Legacy-Systeme im öffentlichen Sektor

Die Grundlage des Projekts war ein reales Kundenprojekt aus dem öffentlichen Sektor: Ein über Jahre entwickeltes, Oracle-basiertes System für staatliche Förderanträge mit mehr als 5.000 PL/SQL-Paketen, 500 Oracle Forms und einer Vielzahl von Abhängigkeiten. Die Wartung dieses Systems erfordert tiefes Verständnis – und verursacht viel manuellen Aufwand.

Ein Beispiel aus der Praxis: Wird ein Fehler in der Berechnungslogik entdeckt, muss nachvollzogen werden, welche Pakete, Tabellen und Forms betroffen sind – eine Recherche, die Tage dauern kann.

Ziel: Code-Abhängigkeiten per natürlicher Sprache analysieren

Julian Köser entwickelte einen Prototyp, mit dem Entwickler:innen Fragen wie „Welche Pakete verwenden die Funktion calculate_funding_amount?“ oder „Welche Tabellen werden beim Antrag auf Kleinförderung geändert?“ stellen können – in natürlicher Sprache. Die KI liefert strukturierte, nachvollziehbare Antworten auf Basis des Quellcodes.

Dabei war besonders wichtig: Die Lösung sollte lokal betrieben werden, um Sicherheits- und Datenschutzanforderungen gerecht zu werden – Cloudlösungen schieden von vornherein aus.

Unknown

Technischer Ansatz: Retrieval-Augmented Generation (RAG)

Der Prototyp basiert auf einer modular aufgebauten Architektur mit folgenden Komponenten:

  • Semantic Code Chunking: Der PL/SQL-Code wird in logisch zusammenhängende Abschnitte unterteilt (z. B. Funktionen, Prozeduren, Trigger).
  • Vektor-Datenbank (Qdrant): Die Chunks werden mithilfe des Modells BGE-M3 in Vektoren umgewandelt und gespeichert.
  • Embedding & LLM: Ein Large Language Model (Qwen3-32B) analysiert in Kombination mit relevanten Codefragmenten die Nutzeranfragen.
  • Frontend: Eine einfache Benutzeroberfläche ermöglicht das Stellen von Fragen und das Anzeigen der Antworten inkl. Referenzen und Konfidenzbewertung.

Besonders spannend: Der Prototyp reagiert in unter 3 Minuten auf komplexe Abfragen – ohne Cloud, rein lokal und mit aussagekräftigen Resultaten.

Ergebnisse: Funktioniert das wirklich?

Ja – zumindest teilweise. Die Analyse ergab:

  • Das System kann viele Abfragen korrekt und nachvollziehbar beantworten.
  • Besonders hilfreich ist die Kombination aus Code- und Dokumentationsanalyse.
  • Grenzen zeigen sich in der Erkennung komplexer, verschachtelter Abhängigkeiten – besonders bei Kontextverlust durch das Chunking.
  • Die Qualität der Antworten hängt stark vom vorhandenen Codekommentar und der Struktur ab.

Fazit & Ausblick

Julian Köser konnte mit seiner Arbeit zeigen, dass LLMs auch in der Wartung von PL/SQL-Systemen wertvolle Unterstützung bieten können – vorausgesetzt, sie werden gezielt eingesetzt und lokal betrieben. Der entwickelte Prototyp zeigt nicht nur das Potenzial, sondern auch die aktuellen Grenzen der Technologie.

Für Accso ist die Arbeit ein wertvoller Beitrag zur Frage, wie moderne KI-Methoden in die Welt gewachsener IT-Systeme überführt werden können – ein Thema, das uns in der digitalen Transformation noch lange begleiten wird.

Sie möchten mehr darüber erfahren, wie Accso KI zur Analyse und Modernisierung von Software einsetzt?
Kontaktieren Sie uns – wir freuen uns auf den Austausch!