AI 将 COBOL 迁移至 Java,连同 Bug 一起

AI migrated legacy COBOL programs to Java, bugs included

AI 将 COBOL 迁移至 Java,连同 Bug 一起

将遗留的 COBOL 程序迁移到 Java 时,测试数据的缺失和边界案例的验证难题往往让人头疼。这篇论文提出了一种名为 Locksmith Loop 的代理测试合成方法,通过在普通硬件上运行 COBOL 源程序和生成的 Java 目标程序,并利用 Mock 进行插桩,构建了一个迭代循环。该循环执行 Witness Search 以穿透程序分支,随后进行保持一致性的变异。当遇到路由边界时,分析器会识别出阻止深入探索的 Locked Paragraph。在三个案例研究中,Locksmith 显著提升了代码覆盖率,在两个开源项目中实现了近乎完全的覆盖,在内部生产级 COBOL 程序中达到了 91.90% 的分支覆盖率。生成的 Java 代码在所有通过确定性一致性检查的测试用例中,都与 COBOL 参考代码完全匹配。

在三个跨越两个开源程序和内部生产级 COBOL 程序的案例研究中,Locksmith 始终能够突破输入搜索的平台期,显著提升覆盖率。

同日更多故事

2026-08-03