Can't we just apply a bunch of correctness preserving translations towards a modern PL, perhaps aided by an LLM to keep the source as human readable as possible, while (I'm stressing this) preserving correctness?
I work at a company with a large COBOL codebase and this has been mentioned in a few presentations about our modernization efforts.