COBOL 转 Python 测评:示例通过率 99%,隐藏测试仅 82-91%

Balu0603 · reddit · 2026-10-15

一项开源(MIT)差异化测试研究量化了"LLM 生成的代码通过示例"与"代码真正正确"之间的差距,选取语义刁钻的 COBOL→Python 翻译场景。

实验设置:用 GnuCOBOL 运行原始程序作 oracle,50 个程序(30 个公开样例 + 20 个自编),翻译器只见 COBOL 源码和两个示例输入输出对,评分用隐藏输入(含 PICTURE 边界值:最大位数、符号翻转、舍入平局),每次运行前协议固定。

结果:

关键结论:prompt 里的示例是弱 oracle——失败不是逻辑错误而是领域语义(COBOL 按字段长度截断输入、溢出丢高位、无符号打印零),两个 happy-path 示例根本暴露不了;把领域语义交给库几乎把所有失败从模型手里移走;修复循环喂"期望 vs 实际"的首个差异字段即可一轮解决。作者还诚实披露:自己的运行时库有个对象比较 bug 导致了大部分 A 条件失败——"怪模型之前先检查你的工具"。限制:语料小、单模型单日期、程序级 A vs C 差异不具统计显著性。

原文链接 →

「研究」频道最新

更多「研究」频道 AI 资讯 →