AI News HubLIVE
サイト内リライト2 分で読了

AIがレガシーCOBOLプログラムをJavaに移行、バグもそのまま引き継ぐ

本研究は、AIがレガシーCOBOLプログラムをJavaへ移行した結果を決定的に検証するためのエージェント型テスト合成手法「Locksmith Loop」を提案する。モックを計装したCOBOLとJavaの環境を通常のハードウェア上で実行し、反復的なウィットネス探索とパリティ維持ミューテーションで分岐探索を深める。430〜4,114行の3事例でオープンソースはほぼ完全な分岐カバレッジ、本番相当は91.90%を達成し、受理された全テストケースが決定論的パリティ検証に合格した。

ソースHacker News AI著者: felineflock

レガシーCOBOLプログラムをJavaへ移行することは、ソフトウェア工学における長年の難題だ。数十年にわたって稼働してきたビジネスロジックはテストデータが不足しがちで、すべてのコーナーケースを検証するのは容易ではない。AI支援コーディングが普及し、モデルが短時間でJavaコードを生成できるようになった一方で、移行結果が元のCOBOLプログラムと本当に同じ挙動をするのかを示す体系的な方法はまだ十分に確立されていない。2026年7月30日にarXivへ投稿された論文は、AIによるレガシーコード移行を決定的に検証するためのエージェント型テスト合成手法「Locksmith Loop(鍵屋ループ)」を提案している。

この手法では、まずCOBOLソースと生成されたJavaターゲットのそれぞれにモックを計装し、メインフレーム外の商用ハードウェア上で実行できるようにする。続いて、反復型エージェントループが、入力モックを探索してプログラムの分岐をくぐり抜ける「Witness Search」を行い、続いてパリティを維持するミューテーションを適用する。ルーティング境界に到達すると、解析器が「Locked Paragraph(ロックされた段落)」、すなわちより深い探索を妨げる条件を特定する。

研究チームは、2つのオープンソースプログラムと1つの内部本番相当COBOLプログラムを含む3件のCOBOL-Java事例で検証した。ソースコードの規模は430行から4,114行に及ぶ。結果は、Locksmithが入力探索だけでは到達できないカバレッジを一貫して向上させ、オープンソースの2プログラムではほぼ完全な分岐カバレッジ、内部本番相当プログラムでは91.90%の分岐カバレッジを達成した。受理されたすべてのテストケースで、生成されたJavaはCOBOL参照実装との決定的パリティ検証に合格した。

論文の著者であるAndras Ferenczi氏と他の4名の共同研究者は、決定論的オラクルを用いてエージェント型コーディング出力を検証する、これまでにないアプローチだと述べている。論文は全11ページ・図6点で、ソフトウェア工学(cs.SE)と人工知能(cs.AI)に分類される。この研究は、AIによるレガシーシステム移行には「コードを書く能力」だけでなく「コードを検証する能力」を備えたループが必要であることを示唆している。しかも、その検証は元プログラムに存在したバグまでそっくり引き継ぐ可能性がある——論文タイトルが示すように。

AIがレガシーCOBOLプログラムをJavaに移行、バグもそのまま引き継ぐ | AI News Hub