HN 日本語サマリー

← 一覧へ戻る
AI・機械学習

AIがレガシーCOBOLプログラムをJavaに移行、バグも含む

AI migrated legacy COBOL programs to Java, bugs included (arxiv.org)

63 pointsby felineflock48 コメント

要約

本論文では、レガシーCOBOLプログラムのJavaへの移行におけるテストの課題に対処するため、新しいエージェントベースのテスト合成手法「Locksmith Loop」を提案しています。この手法は、COBOLソースと生成されたJavaターゲットの両方をモックでインストルメント化し、エージェントループが入力モック上でWitness Searchを実行してプログラムの分岐を探索し、パリティを維持するミューテーションを行います。このアプローチにより、特にテストデータが不足している場合に、カバレッジを大幅に向上させ、移行されたJavaコードの正確性を検証できることが示されています。

全文翻訳

コンピュータサイエンス > ソフトウェアエンジニアリング arXiv:2607.28271 (cs) [2026年7月30日提出] タイトル:レガシーコード移行の決定論的検証のためのエージェント手法 著者:Andras Ferenczi、Jordan Docherty、Mariya Bessonov、Matthew Findlay、Krishna Lingamneni PDFを表示:レガシーコード移行の決定論的検証のためのエージェント手法、Andras Ferencziら4名の著者による PDFを表示 HTML(実験的) 要旨: レガシーCOBOLプログラムをJavaに移行するには、機能が正しいことを保証するために広範なテストが必要です。この作業は、テストデータの不足とすべてのコーナーケースを検証することの難しさによってしばしば複雑になります。本論文では、「Locksmith Loop」と呼ばれる新しいエージェントベースのテスト合成手法を提案します。これは、2つの実行時環境を準備することから始まります。COBOLソースと生成されたJavaターゲットはそれぞれモックでインストルメント化され、コモディティハードウェア上でオフメインフレームで実行されます。その後、反復的なエージェントループが入力モック上でWitness Searchを実行してプログラムの分岐を貫通し、パリティを維持するミューテーションを行います。ルーティング境界に達すると、アナライザーがLocked Paragraphを特定します。これは、より深い探索を妨げる条件です。3つのCOBOL-Javaケーススタディ(2つのオープンソースプログラムと1つの内部本番ライクなCOBOLプログラムを対象とし、430から4,114ソースラインに及びます)全体で、Locksmithは入力検索のプラトーを超えてカバレッジを一貫して改善し、2つのオープンソースプログラムでほぼ完全なカバレッジ、内部本番ライクなCOBOLプログラムで91.90%の分岐カバレッジを達成しました。生成されたJavaは、すべての受け入れられたテストケースで決定論的なパリティチェックの下でCOBOL参照と一致しました。これらの発見を通じて、私たちは、決定論的なオラクルを使用してエージェントコーディング出力を検証するための、知る限りでは新しいアプローチを実証します。 コメント:11ページ、6図 件名:ソフトウェアエンジニアリング (cs.SE); 人工知能 (cs.AI) 引用:arXiv:2607.28271 [cs.SE] (またはこのバージョンについてはarXiv:2607.28271v1 [cs.SE]) https://doi.org/10.48550/arXiv.2607.28271 詳細はこちらをご覧ください arXiv発行のDOI(登録保留中)DataCite経由 提出履歴 送信者:Andras Ferenczi [メール表示] [v1] 木曜日、2026年7月30日 14:25:23 UTC (2,963 KB) 全文リンク: 論文にアクセス:レガシーコード移行の決定論的検証のためのエージェント手法、Andras Ferencziら4名の著者によるPDFを表示 PDFを表示 HTML(実験的) TeXソース ライセンスを表示 現在のブラウジングコンテキスト:cs.SE < 前 | 次 > 新規 | 最近 | 2026-07 次の方法でブラウジングを変更:cs cs.AI 参考文献と引用 NASA ADS Google Scholar Semantic Scholar エクスポート BibTeX引用 読み込み中... BibTeX形式の引用 × 読み込み中... 提供元データ: ブックマーク 書誌ツール 書誌および引用ツール 書誌エクスプローラー 書誌エクスプローラーを切り替える(エクスプローラーとは何ですか?) Connected Papers Connected Papersを切り替える(Connected Papersとは何ですか?) Litmaps Litmapsを切り替える(Litmapsとは何ですか?) scite.ai sciteスマート引用を切り替える(Smart Citationsとは何ですか?) コード、データ、メディア この論文に関連するコード、データ、メディア alphaXiv alphaXivを切り替える(alphaXivとは何ですか?) コードへのリンク CatalyzeX CatalyzeXコードファインダー(CatalyzeXとは何ですか?) DagsHub DagsHubを切り替える(DagsHubとは何ですか?) GotitPub GotitPubを切り替える(GotitPubとは何ですか?) Huggingface Hugging Faceを切り替える(Hugging Faceとは何ですか?) ScienceCast ScienceCastを切り替える(ScienceCastとは何ですか?) デモ デモ Replicate Replicateを切り替える(Replicateとは何ですか?) Spaces Hugging Face Spacesを切り替える(Spacesとは何ですか?) Spaces TXYZ.AIを切り替える(TXYZ.AIとは何ですか?) 関連記事 レコメンダーおよび検索ツール 影響力フラワーへのリンク 影響力フラワー(影響力フラワーとは何ですか?) コアレコメンダー COREレコメンダーを切り替える(COREとは何ですか?) この論文の著者のうち、推薦者は誰ですか? MathJaxを無効にする(MathJaxとは何ですか?)