レガシーコード刷新を成功させる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
-
製品資料
[株式会社kickflow] 2社の事例に学ぶワークフロー改革:属人化解消や年数万件の申請書類削減のコツ -
製品資料
[NTTPCコミュニケーションズ株式会社] 「回線速度不足」だけが原因ではない? Web会議の遅延を解決する方法とは -
製品資料
[東京エレクトロン デバイス株式会社] 工場の可用性向上に重要な「7つの領域」と対策 OTセキュリティ強化の基礎知識 -
製品資料
[リコージャパン株式会社] 問い合わせ対応で本来の業務が進まない、総務や情シスの負担をどう減らす? -
製品資料
[リコージャパン株式会社] 自社データから高精度な回答を生成、簡単に生成AIチャットボットを構築する方法
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
ITエンジニア1265人調査 生成AIを使い込むほど「人の確認」が重い理由
-
2
全社標準Copilotに絶望? MS Copilotで問い合わせ6割減できた企業は何が違った
-
3
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
4
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
5
「Copilot」はなぜ放置される? “議事録要約止まり”を脱する処方箋
-
6
「Microsoft一択」で本当にいいのか 知らぬ間にライセンス費用が膨らむ真相
-
7
IT予算が10%増えたら何に使う? 著名企業のCIOが明かす「最優先の投資先」
-
8
AI活用か新たな脅威か OpenAI自律エージェントがRubyGemsを急襲
-
9
音声もFAXもメールで確認――ユニファイドメッセージの業務効果
-
10
機械学習について、正しく説明している文章はどれ?
ホワイトペーパーランキング PR
-
1
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
2
生成AIで文書活用を進めるには? 効率化と安全性をどう両立する
-
3
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
4
Windows PCとMacの選択制で生産性向上 LINEヤフーが実践する運用管理方法とは
-
5
少額減価償却資産が40万円未満へ拡大、令和8年度税制改正で押さえるべき変更点
-
6
「Google Workspace」活用事例34選、先進の生成AIによる組織変革の全貌
-
7
国税庁の次世代基幹システム「KSK2」稼働開始に向けて、対応すべき変更点とは?
-
8
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
9
Linuxのスキルを証明する“激推し”の認定資格はこれだ
-
10
AI時代に成功するための「ナレッジマネジメント」ベストプラクティス
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー