Ausgangssituation
Ein führender IT-Dienstleister stand vor der strategischen Herausforderung, ein zentrales, geschäftskritisches Stammdaten-System zukunftssicher aufzustellen. Das bestehende System, ein historisch gewachsener, modularer Code-Monolith mit über einer Million Zeilen Code in C++, COBOL und Assembler, bildete einen wichtigen Bestandteil des Ökosystems des Unternehmens. Angesichts der geplanten Abschaltung der bisherigen Mainframe-Infrastruktur musste eine Überführung in eine moderne Java Spring Boot-Architektur erfolgen.
Die besondere Herausforderung lag in der enormen Komplexität und den unvollständig dokumentierten Abhängigkeiten. Das Unternehmen erkannte die Chance, diese Migration nicht als riskantes Big-Bang-Projekt durchzuführen, sondern durch eine systematische, KI-gestützte Analyse die Fachlichkeit präzise zu extrahieren und eine fundierte Entscheidungsgrundlage für eine sukzessive Modernisierung zu schaffen.
Unsere Lösung
Um die komplexe Legacy-Architektur transparent zu machen und eine sichere Migration zu gewährleisten, kombinierten wir in unserer Strategie einen Code-Knowledge-Graphen mit einem Spec-Driven-Development-Ansatz. Zunächst wird die bestehende Codebase deterministisch geparst und in einen Knowledge Graph überführt, den moderne KI-Agenten anschließend semantisch anreichern. Dieser Graph dient dann als verlässliche Grundlage, um die Business-Logik als Spezifikation zu extrahieren und darauf basierend die Zielarchitektur zu gestalten.
Die Kernkomponenten unserer Lösung umfassen:
- Hierarchische Codebase-Analyse und deterministischer Basisgraph: Um die über eine Million Zeilen Code in heterogenen Sprachen wie C++, COBOL und Assembler strukturiert zu erfassen, entwickelten wir einen deterministischen Parsing-Ansatz. Mithilfe von Abstract Syntax Trees und ersten spezialisierten Regular-Expression-Skripten bauten wir zunächst einen Basisgraphen der Code-Strukturen und Abhängigkeiten auf. Diesen reviewten wir gemeinsam mit Experten, um zu identifizieren, welche Kommunikationsmuster im Code noch nicht erfasst waren, und ergänzten gezielt spezialisierte Parser, damit auch diese Interaktionen im Graphen widergespiegelt werden. Das Ergebnis ist ein robuster Basisgraph, der als Fundament für alle weiteren Analysen dient und eine verlässliche Strukturierung der komplexen Legacy-Systeme ermöglicht.
- KI-gestützte Anreicherung durch spezialisierte Sub-Agenten: Auf Basis des deterministischen Graphen setzten wir spezialisierte KI-Agenten ein, die von modernen Large Language Models angetrieben werden. Diese Agenten analysieren den Code auf semantischer Ebene, beschreiben Module und ihre Funktionen in einem eigenen Beschreibungsfeld und ordnen sie Domänen zu. Diese KI-Anreicherung wird anschließend in einem separaten Merge-Schritt mit dem Basisgraph zusammengeführt, wodurch ein tiefgreifender Code-Knowledge-Graph entsteht, der sowohl technische als auch fachliche Zusammenhänge transparent visualisiert.
- Interaktives Codebase-Q&A und Migrationsplanung für Entwickler: Um das extrahierte Wissen für das Entwicklungsteam direkt nutzbar zu machen, entwickelten wir einen Agent Skill, der aus natürlichsprachigen Fragen automatisch passende Graph-Queries generiert und damit die Antworten direkt im Knowledge Graph findet, beispielsweise zu spezifischen Tabellenzugriffen oder Modulabhängigkeiten. Ergänzend steht ein UI-Dashboard zur Verfügung, über das sich der Knowledge Graph visualisieren, durchsuchen und filtern lässt. Darüber hinaus können auf Basis natürlichsprachiger Anfragen und Beschreibungen automatisch Migrationskandidaten generiert werden, die als Grundlage für die spätere Erstellung der Spezifikationen dienen und die Planung der sukzessiven Migration erheblich vereinfachen.
Diese Toolchain schafft die nötige Transparenz, um die Zielarchitektur fundiert planen zu können.
Ergebnisse & Business-Impact
Durch den Einsatz der KI-gestützten Analyse-Toolchain erhielt das Unternehmen Transparenz über die komplexe Legacy-Fachlichkeit und die weitreichenden Systemabhängigkeiten. Die zuvor unvollständig dokumentierte Codebase wurde in einem Code-Knowledge-Graph strukturiert erfassbar gemacht, versteckte Abhängigkeiten wurden sichtbar und die Fachlichkeit ließ sich als Spezifikation extrahieren. So entstand statt eines riskanten Gesamtvorhabens eine belastbare Entscheidungsgrundlage für eine sukzessive Modernisierung. Zusätzlich wurde der Spec-Driven-Migration-Ansatz prototypisch an konkreten Modulen validiert.







