Every bank, insurer, and government system running on a mainframe today is sitting on COBOL that nobody wants to touch and nobody can afford to leave alone. AI coding agents have made the migration itself fast. Feed in the COBOL, get back Java. That part is basically solved.
Nobody has solved the part that actually matters: proving the migrated code does the same thing the legacy code did.
Looks-right is not the same claim as is-right. A migration that compiles, passes a handful of manual test cases, and reads cleanly can still silently change what a program computes. In a codebase processing millions of transactions, a silent change doesn't show up as a crash. It shows up as a discrepancy report six months later, and by then it's an audit finding, not a bug ticket.
The assumption everyone makes, and why it's wrong
The default way teams validate a migration is spot-testing. Run the legacy system and the new system against the same set of inputs, compare outputs, ship it if they match.







