Wie lässt sich sicherstellen, dass KI-generierter Java-Code das Verhalten jahrzehntealter COBOL-Anwendungen vollständig übernimmt? Mit dieser Fragestellung beschäftigt sich eine wissenschaftliche Veröffentlichung von Experten des Finanzdienstleisters American Express. Darin stellen sie mit dem sogenannten „Locksmith Loop“ eine Methode zur Validierung KI-generierter COBOL-zu-Java-Migrationen vor.
Nach Angaben der Autoren Andras Ferenczi, Jordan Docherty, Mariya Bessonov, Matthew Findlay und Krishna Lingamneni stellt die Validierung migrierter Anwendungen eine der größten Herausforderungen bei der Modernisierung von COBOL-Systemen dar. Zwar könnten agentische KI-Systeme und automatische Migrationswerkzeuge heute bereits bei der Übersetzung von Legacy-Code unterstützen. Es bleibe jedoch schwierig nachzuweisen, dass der erzeugte Java-Code auch in seltenen Sonderfällen exakt dasselbe Verhalten zeige wie das ursprüngliche COBOL-Programm. Erschwert werde dies unter anderem durch fehlende Testdaten sowie historisch gewachsene Spezialfälle, die im regulären Betrieb nur selten auftreten.
Testabdeckung schrittweise erweitern
Kern der vorgestellten Methode ist der „Locksmith Loop“ (sinngemäß: „Schlossöffner-Schleife“). Hierfür werden zunächst sowohl das ursprüngliche COBOL-Programm als auch der daraus generierte Java-Code in einer gemeinsamen Testumgebung ausgeführt. Anschließend erzeugt das Verfahren automatisiert Testfälle, um möglichst viele Programmzweige abzudecken. Erreicht diese Suche keine zusätzlichen Ausführungspfade mehr, identifiziert das System sogenannte „Locked Paragraphs“ – also Programmabschnitte, die sich mit weiteren Eingabedaten allein nicht mehr erreichen lassen.

Der schematische Aufbau der Migrations- und Testumgebung des „Locksmith Loop“: Das ursprüngliche COBOL-Programm und der daraus erzeugte Java-Code werden parallel ausgeführt und über das „Parity Gate“ deterministisch miteinander verglichen. Die hellblauen Komponenten bilden die deterministische Ausführungsumgebung, die gelben Elemente die agentische „Authoring Layer“. Quelle: Ferenczi et al., Agentic Method for Deterministic Validation of Legacy Code Migration, American Express, 2026.
An diesem Punkt kommt eine agentische Ebene zum Einsatz. Sie schlägt gezielte Erweiterungen der Testumgebung vor, beispielsweise zusätzliche Einstiegspunkte oder kontrollierte Mock-Daten, um bislang unerreichbare Programmzweige freizulegen. Anschließend beginnt die automatisierte Testfallsuche erneut und untersucht die neu erschlossenen Bereiche. Dieser Ablauf wiederholt sich so lange, bis keine weiteren Fortschritte mehr erzielt werden oder alle identifizierten Programmabschnitte untersucht worden sind.
Parity Gate vergleicht COBOL und Java
Eine zentrale Rolle übernimmt dabei das sogenannte „Parity Gate“. Es führt nach Angaben der Autoren sowohl den COBOL- als auch den Java-Code mit identischen Testfällen aus und vergleicht anschließend systematisch deren Verhalten. Berücksichtigt würden unter anderem die durchlaufenen Programmabschnitte, die Reihenfolge externer Operationen sowie der beobachtbare Endzustand der Anwendung. Nur wenn beide Implementierungen identische Ergebnisse lieferten, werde ein Testfall akzeptiert.
Die Autoren betonen, dass KI in diesem Ansatz zwar Vorschläge für zusätzliche Testmöglichkeiten oder Anpassungen der Testumgebung liefert. Über die Annahme oder Ablehnung dieser Vorschläge entscheide jedoch ausschließlich die deterministische Vergleichsprüfung zwischen COBOL- und Java-Ausführung.
Drei Fallstudien
Erprobt wurde der „Locksmith Loop“ anhand von drei COBOL-Programmen: zwei öffentlich verfügbaren Open-Source-Anwendungen mit 430 beziehungsweise 924 Quellcodezeilen sowie einem produktionsnahen internen COBOL-Programm mit 4.114 Quellcodezeilen. Nach Angaben der Autoren habe das Verfahren bei den beiden Open-Source-Anwendungen nahezu vollständige Testabdeckung erreicht. Beim größten Programm seien 91,9 Prozent der Programmverzweigungen (Branch Coverage) sowie 95,1 Prozent der Programmabschnitte (Paragraph Coverage) abgedeckt worden. Für alle akzeptierten Testfälle habe das erzeugte Java-Programm dasselbe Verhalten gezeigt wie die jeweilige COBOL-Referenzimplementierung.
Die Autoren weisen zugleich darauf hin, dass die Untersuchungen bislang auf diese drei Programme beschränkt sind. Zudem überprüfe das Verfahren ausschließlich die funktionale Übereinstimmung zwischen COBOL- und Java-Code. Fehler oder historisch gewachsene Besonderheiten der ursprünglichen COBOL-Anwendung würden daher bewusst übernommen, sofern sie Bestandteil des bisherigen Laufzeitverhaltens seien.
Die Studie liefert eine interessante Blaupause für einen Aspekt, der in der Diskussion um KI-gestützte Legacy-Modernisierung bislang häufig weniger Aufmerksamkeit erhält als die eigentliche Codegenerierung: die systematische Validierung der Migrationsergebnisse. Vor diesem Hintergrund dürfte die Arbeit auch für europäische Finanzinstitute interessant sein. Denn gerade in stark regulierten IT-Landschaften wird die Frage, wie sich KI-generierter Migrationscode nachvollziehbar und reproduzierbar validieren lässt, voraussichtlich ebenso wichtig werden wie die eigentliche Migration selbst. (td)





