论文

遗留代码迁移确定性验证的代理方法

Agentic Method for Deterministic Validation of Legacy Code Migration

摘要

将遗留 COBOL 程序迁移到 Java 需要进行大量测试以确保功能正确。由于缺乏测试数据以及验证所有极端情况的困难,这项工作通常会变得复杂。在本文中,我们提出了一种新颖的代理测试综合方法,即“Locksmith Loop”,该方法通过准备两个运行时环境来启动:COBOL 源和生成的 Java 目标均使用模拟进行检测,并在商用硬件上脱离大型机执行,然后迭代代理循环对输入模拟执行见证搜索以渗透程序分支,然后进行奇偶校验保留突变。当到达路由边界时,分析器会识别锁定段落:阻止更深入探索的情况。在三个 COBOL-Java 案例研究中,涵盖两个开源程序和一个类似内部生产的 COBOL 程序,源代码行数从 430 到 4,114 行不等,Locksmith 不断提高覆盖范围,超越输入搜索平台,几乎完全覆盖两个开源程序,对内部类似生产的 COBOL 程序达到 91.90% 的分支覆盖率。在所有接受的测试用例中,生成的 Java 在确定性奇偶校验检查下与 COBOL 引用相匹配。通过这些发现,我们据我们所知展示了一种使用确定性预言机验证代理编码输出的新方法。