レガシーコード刷新を成功させるAI活用の鉄則
COBOLをJavaに変換して終わりではない AI活用に検証の壁
ソースコードや仕様のブラックボックス化、人材の不足と、レガシーコードの刷新にはさまざまな課題がある。一方、AIを使えば刷新を効率化できるという声がある。AIを使う場合、どのような点に注意すればいいのか。
古い基幹システムを刷新したいが、コードの仕様書が残っていない。詳しい技術者も退職し、少し変更するだけでもどこに影響するか分からない――。レガシーシステムを抱える企業では、こうした状況が刷新を踏みとどまらせる原因となる。
そこで選択肢になりつつあるのが、生成AIをはじめとするAI技術だ。AIを活用すれば、既存コードの解析や文書化、別言語への変換、テストコードの生成などを効率化できる。しかし、既存コードをAIに読み込ませ、新しい言語へ変換すれば刷新が終わるわけではない。
IBMのAIエンジニア兼デベロッパーアドボケイトのアンナ・グトブスカ氏は、レガシーコード刷新で重視すべき3つの要素を紹介する。
そもそもレガシーコードの何が問題なのか
レガシーコードとは、単に作成から長い年月が経ったコードを指すものではない。古いプログラミング言語で書かれていたり、老朽化したインフラで稼働していたり、自動テストやドキュメントが十分に整備されていなかったりする場合がある。
さらに問題になるのが、長年の業務で蓄積された重要な業務ロジックがコードの中に埋め込まれていることだ。その処理がなぜ必要なのかを理解している担当者が、既に社内に残っていない場合もある。
こうしたシステムを廃止するのは容易ではない。レガシーコードを使ったシステムは、金融取引や医療データ、在庫管理、物流など、企業や社会の中核を担っている場合がある。
その一方で、古いシステムに詳しい技術者は退職し、新しい世代のエンジニアはPythonやJavaScript、クラウドネイティブな技術を中心に学んでいるところもある。
この状況をグトブスカ氏は、「レガシー技術を深く理解する開発者が減り、スキルギャップが広がっている」と指摘する。
レガシーコードを使ったシステムの保守やデバッグに時間を取られれば、新機能の開発に割ける時間は減る。古いシステムの中には、セキュリティパッチが提供されず、現在のコンプライアンス基準を満たせなくなるものもある。こうした状態を放置すれば、脆弱(ぜいじゃく)性やコンプライアンス上のリスクが高まる。
AIは「既存システムを理解する作業」を支援する
従来のレガシー刷新では、まずエンジニアが大量の既存コードを読み込み、「この処理は何をしているのか」「どのコンポーネントとつながっているのか」を調べる必要があった。
仕様書が十分に残っていなければ、コードそのものからシステムの挙動を読み解かなければならない。
従来の刷新についてグトブスカ氏は、「チームが何カ月もかけてレガシーコードを読み、システムの動きを理解することがある」と述べる。
生成AIは、この調査工程を支援する役割を担う。例えば大規模言語モデル(LLM)に既存コードを解析させれば、各モジュールの役割やデータの流れ、重要な業務ロジックがどこに存在するのかを自然言語で整理させることができる。
「LLMはレガシーコードを読み、各モジュールの役割やデータの流れ、重要な業務ロジックの位置を説明できる」(グトブスカ氏)
これまで人が大量のコードを読み解いていた作業を補助し、刷新対象を把握するまでの工程を効率化することにもある。
COBOLからJavaへの変換も ただし「動けば成功」ではない
AIは、コードの変換にも活用可能だ。例えば、COBOLで書かれたコードをJavaへ変換したり、CのコードをPythonへ書き換えたり、従来のバッチ処理をイベント駆動型やサーバレスの処理へ移行したりするといった用途が考えられる。
「元のロジックや意図を維持しながら、ある言語から別の言語へコードを変換できる」とグトブスカ氏は述べる。
さらに、AIエージェントを使えば、既存コードの分析、刷新計画の作成、コード変換、テスト作成、ドキュメント生成といった複数の工程を連続して実行させることも考えられる。ただし、ここには注意点がある。
AIが変換したコードは、構文上は正しくても、元システムと同じ動作をするとは限らない。複雑に絡み合った業務固有のロジックを、AIが正しく理解できない可能性もある。
「AIによる変換結果が構文上は正しくても、振る舞いとして誤っている場合がある」とグトブスカ氏は注意を促す。
つまり、コンパイルに成功し、プログラムが動作しただけでは、移行に成功したとは判断できない。旧システムと同じ入力に対して同じ結果を返すのか、例外処理や境界条件まで再現できているのかを検証する必要がある。
刷新で見直すべき3つのポイント
レガシー刷新は、古いプログラミング言語を新しい言語に置き換えるだけの作業ではない。刷新で重要になる要素としてグトブスカ氏は、「アーキテクチャ」「技術」「開発プロセス」の3点を挙げる。
アーキテクチャ
例えば、受注や在庫、請求など複数の機能が1つの巨大なシステムとして密接につながっている場合、一部の変更が他の機能に影響する可能性がある。機能ごとに独立したサービスへ分割すれば、特定の機能だけを更新、拡張しやすくなり、変更の影響範囲を限定しやすい。
技術面
古い言語やフレームワーク、オンプレミスのインフラを、継続的にセキュリティ更新を受けられる環境や、クラウドサービスと連携しやすい技術へ段階的に移行する。
開発プロセス
自動テストや継続的デプロイを取り入れる。数カ月分の変更をまとめてリリースするのではなく、小さな変更を繰り返すことで、一度の変更による影響を限定しやすくする。
「モダナイゼーションは、既存業務を動かし続けながら、その下にある技術を変えていく段階的なプロセスだ」(グトブスカ氏)
AI任せにしないために情シスが押さえるべきこと
AIを使ったレガシー刷新で、情シス部門が特に注意したいのが「AIが生成したものをどう検証するか」だ。
AIは既存コードの理解や変換、テスト作成といった作業を効率化できる。一方、AIが生成したコードが元の業務要件を満たしているか、安全に本番環境へ投入できるかまで自動的に保証してくれるわけではない。
セキュリティについても同様だ。グトブスカ氏は「AIが一部のセキュリティ問題の発見や軽減を支援できても、既存の脆弱性を自動的に全て排除したり、安全なコードを保証したりできるわけではない」と説明する。
そのため、AIを導入する際は、コード生成だけを見るのではなく、テスト、人によるレビュー、移行前後の検証まで含めたワークフローを設計する必要がある。
グトブスカ氏によると、AI支援によるレガシー刷新の成否は、AIモデルの性能だけで決まるものではない。テストや人によるレビュー、移行工程での検証を組み込んだワークフローを設計する必要がある。
コードの解析や変換、文書化といった作業をAIで効率化する。一方、業務ロジックを正しく引き継げているか、どの部分をどの順序で刷新するか、本番移行できる品質に達しているかといったリスクの大きい判断には、経験のあるエンジニアを関与させることが望ましい。
本稿は、2026年9月15日にIBM Technologyが公開したWhat Is Legacy Code? How AI Is Modernizing Legacy Systemsを基に作成しました。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
新着ホワイトペーパー PR
-
製品資料
[ファインディ株式会社] AI利用率だけでは説明できない成果 開発組織の競争力を生む「開発資本」とは? -
製品資料
[ニュータニックス・ジャパン合同会社] AI活用を成功へ導く、シンプルで費用対効果に優れたクラウド基盤とは? -
製品資料
[ニュータニックス・ジャパン合同会社] マネージドKubernetesには限界も――メリットをフル活用する新たな選択肢とは? -
技術文書・技術解説
[ニュータニックス・ジャパン合同会社] 決断の日が迫る「vSphere 8」サポート終了問題 考慮すべきリスクと選択肢は? -
製品資料
[サイバーソリューションズ株式会社] メール誤送信対策のルールが肥大化 苦しむ情シスはどうすれば救われるのか?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「アップグレードできないJava」をどう守る IBMとRed HatがAIで400件超修正
-
2
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
3
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
4
「恥を知るべきだ」 AIデータセンター反対運動を招いた事業者の秘密主義
-
5
パッチなしで「今すぐサーバを落とせ」 Kiteworks異例警告の波紋
-
6
私も“AIエージェント開発者”に? 裾野を広げる「Agent Bricks」とは
-
7
Copilot導入で陥る“目的化”の落とし穴 定着の鍵は「作り込まない」こと
-
8
パスワードはなぜ死んだか 情シスが今すぐ始めるパスキー移行の現実解
-
9
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
10
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365のメールセキュリティ、3つの“死角”と追加で検討すべき対策とは
-
4
システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
-
5
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
6
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
7
「IT史に名を残すシステム障害」8選
-
8
Linux初心者でも知らないとまずい「RHEL」「SLES」の違いとは?
-
9
東大教授と考える、AI時代の「データ主権」「信頼性」「ガバナンス」の在り方
-
10
マンガで学ぶXDR/MDRのメリット、中小企業のセキュリティ強化になぜ有効か?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー