ロックスミス・ループ:レガシーCOBOLからJavaへの移行を決定的に検証するエージェント手法
新しいエージェント型テスト合成手法「ロックスミス・ループ」は、決定的パリティチェックを用いてCOBOLからJavaへの移行を検証し、オープンソースプログラムではほぼ完全なブランチカバレッジ、本番相当のCOBOLプログラムでは91.90%を達成した。

レガシーCOBOLからJavaへの移行は、コーナーケースとテストデータ不足の悪夢だ。新しいarXiv論文は、検証を確率的ではなく決定的にすることを目指す「ロックスミス・ループ」と呼ばれるエージェント型テスト合成手法を提案している。
このアプローチは、COBOLソースと生成されたJavaターゲットの2つのランタイム環境をセットアップすることから始まる。両方ともモックで計装され、メインフレーム外のコモディティハードウェアで実行される。反復的なエージェントループは、プログラムのブランチに侵入するために入力モック上で「ウィットネス検索」を実行し、その後パリティ保存変異を行う。ルーティング境界に達すると、アナライザーが「ロックされたパラグラフ」—より深い探索を妨げる条件—を特定する。
3つのCOBOL-Javaケーススタディ(2つのオープンソースプログラムと1つの内部本番相当COBOLプログラム、430〜4,114ソース行)にわたって、ロックスミスは入力検索のプラトーを超えて一貫してカバレッジを改善した。2つのオープンソースプログラムではほぼ完全なカバレッジに達し、内部本番相当COBOLプログラムでは91.90%のブランチカバレッジを達成した。重要なのは、生成されたJavaが、受け入れられたすべてのテストケースで決定的パリティチェックの下でCOBOLリファレンスと一致したことだ。
この論文の主な貢献は、エージェントコーディング出力を検証するために決定的オラクルを使用することだ—統計的尤度への依存から証明可能な等価性へのシフトである。著者らは、これがAI生成コード移行を検証する新しいアプローチであると主張している。
レガシーモダナイゼーションに取り組むエンジニアにとって、これは、網羅的な既存テストスイートを必要とせずに、LLM生成のJavaポートが元のCOBOLと同一に動作することを検証する具体的な道筋を提供する。
ロックスミス・ループはAIコード移行のブラックボックスを証明可能な等価性チェックに変える—移植コードが動くことを祈る必要はもうない。