世界各地的国税局、银行、航空公司和政府基础设施有什么共同点?他们都在使用古董电脑密码
AI能帮助解决COBOL代码危机吗?.
古代的密码把世界团结在一起可能会在AI中遇到对手今天不是那个日子。
OpenAI认为它可能有解决方案。 10月19日,公司将最新AI模型将用旧编程语言书写的老化软件迁移到现代代码的能力“大幅改进 ”,声称可以帮助组织“维持旧系统并使之现代化 ”。
这是一个潜在的大规模交易。 COBOL是OpenAI强调的语言之一,它仍然固执地嵌入了世界上许多关键基础设施。 尽管数十年的努力把它放逐到历史中,语言已经跛了,仅仅拒绝死亡。
“没有人会用COBOL进行新的发展项目。”
很难夸大COBOL的无所不在。 缩写为“面向企业的通用语言”,COBOL于1959年诞生。 将近70年后,它仍然无处不在。 IBM表示,COBOL是超过40%的在线银行系统的基础,支持80%的当面信用卡交易,并处理95%的自动取款机交易。 它也是许多政府制度的基础,从社会保障到国税局到大多数州管理的服务。 一个粗略的估计认为,COBOL效率低下对美国GDP造成的年度成本约为1 050亿美元。
但取代COBOL是极其困难的。 其他遗留的编程语言,如福特兰语,也一样,今天仍在使用,用于从科学计算和天气预报到对核安全至关重要的大气和海洋研究与代码等一切。 这些系统往往过于重要,无法冒险破解,许多了解它们的程序员早已退休或去世。
AI编码工具在现代软件开发上取得了令人印象深刻的进步,因此在使用这些遗留系统方面一直努力取得很大进展。 但最近的事态发展表明,这种情况可能正在发生变化。
OpenAI在其最新博客文章中报导了将COBOL代码迁移到更现代编程语言的有希望的结果,包括C++,Java,Kotlin,Python,以及Rust,但并没有改变原软件的工作。 OpenAI承认“只有当所有测试都通过时
在OpenAI自己的测试中,GPT-6.1 Sol在低推理努力中实现了87%的行为保全精度——模型在给出答案前花费多少计算步骤分析一个问题——在更高推理中攀升到98%. 相比之下,在低推理努力中,GPT-6 Astra得分约为86%,GPT-6 Sol只有21%,GPT-5.6 Sol只有5%.
“改写代码与替换系统不同。”
OpenAI写道,“这些评价结果显示
该公司还报告了其模型以各种编程语言(包括COBOL)建立数据库软件的能力的改进。
Anthropic在遗产系统中也看到了机会。 2月,它出版了"代码现代化游戏本",并安放其编码agent,Claude Code,以此将COBOL代码迁移到Java或Python等现代语言中。 它没有提供基准测试显示Claude Code如何能进行这种迁移,但宣称“COBOL现代化的经济已经转变”。 IBM的部分收入帮助公司维持遗留系统
与The Verge交谈的专家一致认为,近年来,AI工具在处理遗留守则方面取得了长足进展。 但是他们告诫说,本周由OpenAI号号号号号号号号号号号号号号的推进距离安全地取代围绕它建立的关键遗留系统是很远的。
OpenAI 发言人 Oscar Haines在一封给The Verge的电子邮件中承认,遗留的代码 " 远未解决 ",称公司正在听取开发商和企业的反馈,并探索如何建立更好的测试,并继续改进其模型对编码语言的理解。 Anthropic没有及时提供评论意见以供出版。
“OpenAI显示的评价没有解决关键困难:将复杂的遗留系统拆散成可以单独替换的较小单位。”
称 Vadim Zaytsev,荷兰文特大学软件演变副教授。 系统确实有很多代码——Zaytsev 称是他见过的最大系统,有2.5亿行COBOL,“绝对不是世界上最大的”,但这只是问题的一部分。 代码可能用多种语言写成,并且有可能以不同格式存储的数据,以考虑他称。 与其他系统也存在技术整合,人们和组织也期望牢记这一点。
所有这些复杂性意味着“大赦国际目前没有在取代或迁移遗留下来的COBOL系统方面发挥主要作用”,Zaytsev 称。
OpenAI的评价也没有抓住这个复杂的现实,他将公司的博客描述为"超级的",指出该博客对迁移任务提供的细节很少,而其语言基准测试测试了一个相对简单和定义明确的任务,涉及类似于他们在培训中遇到的系统。 他还强调维持一个老化系统与使之现代化之间存在巨大差距。 Van Deursen 称将用于评估其模型的任务称为OpenAI,“光年”远离实际现代化。 OpenAI的评价没有解决关键困难:将复杂的遗留系统拆散成可以单独替换的较小单位。”
最大的挑战并不一定是重写代码。 伦敦帝国学院编程语言教授称 Alastair Donaldson,对于使用COBOL等语言的遗留系统来说,而尽管它无处不在,但Donaldson 称“在他们正确的思想中,没有人会用COBOL来进行一个新的发展项目。”
“在许多情况下,即使在移徙前后的系统行为上也有微小的差别也是不能接受的。”
这使得强力测试至关重要,唐纳森称。 一种办法是通过新旧系统运行同样的工作流程,检查它们是否行为相同。 大赦国际还可以记录其代码翻译,理想的做法是让熟悉传统语言的人类审查该作品。 正式的校验使用数学技术来计算校验代码是否行为正确,这是另一种选择,称 Jacopo Mauro是丹麦南部大学的数学和计算机科学教授。
这种方法已经用于验证AI产生的数学结果,但将这些结果应用到遗留的代码需要“大量工作”,Mauro 称。 Mauro 称补充说,使用这些方法将意味着可以自动检查代码,他补充说,“这样做比进行人检查更能证明翻译是正确的。” 在此之前,他称说,“人的核查仍然至关重要。”
而当涉及到的系统和运行在COBOL上的系统一样关键时,专家说,你需要绝对确定替换工作。 Zaytsev 称。 “在许多情况下,即使在移徙前后的系统行为上小有差异也是不能接受的。 虽然AI肯定能节省开支
Zaytsev 称。 “假设你有一个神奇的AI魔杖,“剩下的1%你怎么办?百分之一可以是百万行代码,遍布各地
本文由 AI图鉴自动抓取并翻译,版权归原作者所有;如需查看原文请点下方链接。
What do the IRS, banks, airlines, and government infrastructure around the world have in common? They’re all running on systems propped up by antique computer code that nobody dares touch, lest everything come crashing down.
Can AI help solve the COBOL code crisis?
The ancient code holding the world together may meet its match in AI. Today is not that day.
OpenAI thinks it may have a solution. On October 19th, the company touted “substantial improvements” in its latest AI models’ ability to migrate aging software written in older programming languages into modern code, which it claims could help organizations with “maintaining and modernizing older systems.”
That’s a potentially massive deal. COBOL, one of the languages highlighted by OpenAI, remains stubbornly embedded in vast portions of the world’s critical infrastructure. And despite decades of efforts to banish it to history, the language has limped on, simply refusing to die.
“Nobody in their right mind would use COBOL for a new development project.”
It is hard to overstate COBOL’s ubiquity. Short for “common business-oriented language,” COBOL came into being in 1959. Nearly seven decades later, it is still everywhere. According to IBM, COBOL is the foundation for more than 40 percent of online banking systems, supports 80 percent of in-person credit card transactions, and handles 95 percent of ATM transactions. It also underpins many government systems, from Social Security to the IRS to services run by most states. One rough estimate puts the annual cost of COBOL’s inefficiencies to the US GDP at around $105 billion.
But replacing COBOL is fiendishly difficult. The same goes for other legacy programming languages, like Fortran, still in use today for everything from scientific computing and weather forecasting to atmospheric and ocean studies and codes critical to nuclear security. These systems are often too important to risk breaking, and many of the programmers who understand them have long since retired or died.
For all their impressive advances in modern software development, AI coding tools have struggled to make much headway with these legacy systems. But recent developments suggest that may be changing.
In its latest blog post, OpenAI reported promising results migrating COBOL code to more modern programming languages, including C++, Java, Kotlin, Python, and Rust, without changing what the original software does. That last bit is crucial for organizations looking to ditch code like COBOL, and OpenAI acknowledges that “a migration is considered successful only if all tests pass.”
In OpenAI’s own tests, GPT-6.1 Sol achieved 87 percent behavior preservation accuracy at low reasoning effort — how many computational steps the model spends analyzing a problem before giving an answer — climbing to 98 percent at higher reasoning. By comparison, at low reasoning effort, GPT-6 Astra scored around 86 percent, GPT-6 Sol just 21 percent, and GPT-5.6 Sol a mere 5 percent.
“Rewriting code is not the same as replacing a system.”
“These evaluation results demonstrate progress toward more accurate, affordable code migration for teams modernizing the software their businesses depend on,” OpenAI wrote.
The company also reported improvements on its models’ ability to build database software in various programming languages, including COBOL.
Anthropic also sees an opportunity in legacy systems. In February, it published a step-by-step “code modernization playbook” and pitched its coding agent, Claude Code, as a way to migrate COBOL code into modern languages like Java or Python. It offered no performance benchmarks showing how well Claude Code could perform such migrations, but declared that “the economics of COBOL modernization have shifted.” Shares in IBM, which derives part of its revenue helping companies maintain legacy systems, nosedived following Anthropic’s announcement.
Experts who spoke to The Verge agreed that AI tools have made strides in tackling legacy code in recent years. But they cautioned that advances trumpeted by OpenAI this week are a very long way from making it possible to safely replace critical legacy systems built around it.
OpenAI spokesperson Oscar Haines acknowledged in an email to The Verge that legacy code “is still far from a solved problem” and said the company is listening to feedback from developers and enterprises and exploring ways to build better tests and continue improving its models’ understanding of coding languages. Anthropic did not provide comment in time for publication.
“The evaluations shown by OpenAI don’t address the key difficulty: Breaking up a complex legacy system into smaller units that can be replaced individually.”
“Rewriting code is not the same as replacing a system,” said Vadim Zaytsev, an associate professor of software evolution at the University of Twente in the Netherlands. Systems do have a lot of code — Zaytsev said the largest system he’d seen had 250 million lines of COBOL, “definitely not the world’s largest” — but that’s only part of the problem. Code may be written in multiple languages and there’s data, potentially stored in various formats, to consider, he said. There are also technical integrations with other systems and the expectations of the people and organizations to bear in mind.
All that complexity means “AI is not playing a major role at the moment in replacing or migrating legacy COBOL systems,” Zaytsev said.
OpenAI’s evaluations don’t capture this complex reality either, Arie van Deursen, a software engineering professor at Delft University of Technology in the Netherlands, told The Verge. He described the company’s blog as “superficial,” noting it offered few details about the migration task, while its language benchmark tested models on a relatively simple and well-defined task involving systems similar to those they would have encountered in training. He also stressed the huge gap between maintaining an aging system and modernizing it. “Maintaining is of course a lot easier than modernizing,” van Deursen said, calling the tasks OpenAI used to assess its models “lightyears” away from actual modernization. “The evaluations shown by OpenAI don’t address the key difficulty: Breaking up a complex legacy system into smaller units that can be replaced individually.”
The biggest challenge isn’t necessarily rewriting code. “The main challenge is indeed not understanding how the system works,” said Alastair Donaldson, a professor of programming languages at Imperial College London. Such a lack of understanding is a “very common” problem for legacy systems using languages like COBOL, he said, adding that very few people know how to program in them anymore. And while it is everywhere, Donaldson said “nobody in their right mind would use COBOL for a new development project.”
“In many cases even minor differences in system behaviour before and after migration are unacceptable.”
That makes robust testing crucial, Donaldson said. One approach could be to run the same workflows through the old and new systems to check they behave identically. AI could also document its code translation, ideally allowing humans familiar with the legacy language to review the work. Formal verification, which uses mathematical techniques to computationally verify that code behaves correctly, is another option, said Jacopo Mauro, a mathematics and computer science professor at the University of Southern Denmark.
Such methods are already used to verify AI-generated mathematical results, but applying them to legacy code would require a “huge amount of work,” Mauro said. Using those methods would mean code could be checked automatically, Mauro said, adding that “having this will be better than having a human check that the translation is correct.” Until then, he said, “human verification remains essential.”
And when the systems involved are as critical as those running on COBOL, experts say you need to be absolutely certain the replacement works. “In many cases even minor differences in system behaviour before and after migration are unacceptable,” Zaytsev said. While AI can definitely deliver savings and speed things up, the complexity of legacy systems means partial automation isn’t enough.
“Suppose you have a magic AI wand that handles 99 percent of your code,” Zaytsev said. “What do you do with the remaining 1 percent? That 1 percent can be a million lines of code, spread all over the place and subtly failing in more ways you can imagine within your lifetime.”
Auto-fetched and translated by AI Atlas. All rights belong to the original author.