【第8回】AIによる“COBOLコード理解の自動化”は現場をどう変えるのか?

SCROLL DOWN

リストへ戻る

昨今の生成AIの普及により、AIツールを利用したモダナイズの波が押し寄せており、メインフレームの基幹システムで利用されているCOBOLやPL/Iアプリケーションも、AIツールで比較的容易にモダナイズできるのではないかと言われています。

本記事では、最近のトレンドを交えながら、AIツールの機能や進化、AIが担う役割などを含めた、次の項目についてご説明します。

1.最近の動向

ある外資系IT企業が発表した“COBOLモダナイゼーションの自動化”は、メインフレームメーカーの時価総額を大きく下落させるという、極めて大きな衝撃を市場に与えました。なぜ投資家はこれほどまでに影響されたのか、公開されている情報をもとに原因を推察してみます。

 

「AIツールにより、短期間、低コストでモダナイズを実現できる」と発表

COBOLアプリケーションのモダナイゼーションは、分析から稼働までに多数のコンサルタントと数年の歳月が必要ですが、この発表により“メインフレームメーカーの基幹ビジネスを根底から揺さぶると見なされた”と考えられます。

 

メインフレーム離れが加速することへの不安

複雑に絡み合う、モダナイズが困難なシステムを持つユーザーや、メインフレームメーカーを信頼して運用を依存しているユーザーは、メインフレームの継続利用を選択してきましたが、モダナイゼーションがこのツールによって容易になれば、クラウドへ移行する確率は高くなり、これにより“脱メインフレームが加速する不安を煽った”と考えられます。

 

この発表に対して大きなインパクトがあるということは、クラウドへの移行やモダナイゼーションに課題を抱えながら、メインフレームを利用しているユーザーが多いとも言えます。そこで、実際には何が実現できるのか、国内外の代表的なAIモダナイゼーションツールの近況についてご説明します。

 

2.主なAIツールの近況

代表的なベンダーが提供するAIツールは、次のような機能を持っています。

 

アプリケーションの解析と解説が得られる

ソースコードをもとに解析し、自然言語で解説する、すなわち仕様書に近い成果物が短時間で生成され、ブラックボックス化していたシステムの仕様を明らかにすることができます。

 

他開発言語への書き換えをサポート

独自の学習データと解析結果をもとに、他の開発言語への自動的な書き換えをサポートします。あるツールでは「COBOLソースコードをオブジェクト指向に基づいた高品質なJavaソースコードへ変換する」と謳っていますが、COBOLが得意とする演算やその精度は異なると捉えたほうが良いでしょう。特に金融系の緻密な計算を必要とするものや小数点以下の演算には注意が必要です。

 

テストの自動化をサポート

「AIツールがテスト計画を立案し、テストを自動化できる」と発表しているツールもあります。他開発言語へ書き換えた場合には全量テストが必要であることから、テストフェーズの効率化に役立ちます。また、COBOLをそのままクラウドで再利用する場合は、自動化による現新比較テスト工数の削減を見込めるため、より高い効率化が期待できます。

 

長い歴史を持つメインフレームでは、稼働しているソースコードの仕様が不明なことが多く、ソースコードから仕様書を作成して理解できる機能は、どのモダナイゼーション手法を選択したとしても非常に役立つと言えます。また、テストの自動化についても、夜間に実施するなど時間を選ばずに実行できる利点もあります。

 

では、日本語を使用するシステムや国産メインフレームのシステムに対して、すべてのAIツールが対応可能なのか、国内外のツールに分けて現状をご説明します。

 

3.外資系企業のAIツール

某外資系企業のツールは「理解・リファクタ・変換・検証の4ステップをエンドツーエンドで支援できる」と謳っていますが、日本語や国産メインフレームには対応していないことが多くあり、そこに潜む代表的な問題をいくつか挙げてみます。

 

“方言”と“独自拡張”の壁

COBOLには国際標準規格(ANSI等)がありますが、国産メインフレームベンダーは自社ハードウェアの性能を最大限に引き出すために独自拡張を行い、方言となる特殊な命令やデータ型が多く存在します。AIツールがこれらを“規格に準じたCOBOL”として読み解こうとすると、構文エラーや誤認識により、致命的なバグを生む可能性が潜んでいます。

 

日本語処理の特殊性

国産メインフレームは独自の日本語文字コード体系を持っており、これに関連する画面制御や帳票出力のロジックは、外資系企業のAIツールが学習している標準的なデータセットには含まれていないことが一般的です。

 

JCL(ジョブ制御言語)のブラックボックス化

JCL(Job Control Language)はメインフレームベンダーごとに異なるため、対応しているAIツールによってのみ解析可能です。

 

AIの学習不足

ユーザ独自のコーディング規則がある場合、これらをAIツールに学習させる必要があります。

 

独自のDB/DC機能

国産メインフレームベンダー独自のミドルウェア(階層型/ネットワーク型データベースやトランザクションモニター) とCOBOLのロジックは密結合しており、これらに対応しているAIツールが必要になります。

 

ミドルウェアの挙動

メインフレームで使用利用していたミドルウェア特有の“排他制御のタイミング”や“メモリ管理の癖“などを解析するのが、現在の AIツールでは極めて困難です。

 

4.国内企業のAIツール

国内企業が提供するAIツールは、単なるソースコード変換(翻訳)を超え、より実戦的で泥臭いアプローチで進化しています。

プレイヤー
役割
国産メインフレームベンダー
自社の独自仕様を学習させた“特化型AI”を自ら開発し、提供している
国内Sier
AIが解析できない“日本独自の仕様”を人力で修正・補完する“最後の手仕事”を担う

国内の実例で共通しているのは、“AIによる全自動リプレース”を鵜呑みにせず、人間の役割をキチンと把握しながら役割を分担している点です。

解析・分析
AIの役割:数百万行のソースコードから依存関係を抽出
人間の役割:業務上の重要度に応じた優先順位付け
変換
AIの役割:独自仕様COBOLをJavaの雛形へ変換
人間の役割:日本特有の複雑なロジックの修正
テスト
AIの役割:テストデータと期待値の自動生成
人間の役割:最終的な整合性確認

日本独自のミドルウェア連携箇所は依然として人間による“手組み”が中心であり、コンマ数秒のレスポンスや極めて高い堅牢性といった“日本特有の品質担保”を、AIが生成したソースコードで実現できるかどうかが最大の課題となっています。

 

この例からわかるように、AIの役割として最も有効だと考えられるのは“解析・分析=仕様理解や影響分析”と“テスト”分野です。

 

5.仕様理解・影響分析・テスト生成分野の進化

進化を続けるAIですが、COBOL、/PL/Iプログラムの“仕様理解”、“影響分析”、“テスト生成”は、実験段階から実用段階の自動化プロセスへと明確にシフトしています。また、以前のように“AIにソースコードを入力して解説してもらう”レベルではなく、“エージェント型AIがシステムの依存関係を自律的に掘り起こし、テスト計画まで作成する”という、非常に高度なフェーズに入っています。
各分野の進化について見てみましょう。

 

仕様理解(Specification Understanding)
【成熟度:非常に高く、実戦に導入済み】

既に、単なるソースコードの“翻訳”ではなく、“ビジネス仕様の再構築(リバースエンジニアリング)」に使われており、ソースコードだけでなく、関連するCOBOLの仕様書、JCL、設計文書をすべて“コンテキスト”として読み込ませることで、「なぜこのコードがこうなっているのか」という意図の抽出が可能になっています。

 

また、AIが数百万行のソースコードを読み込み、現行業務のルールブックを自動作成するプロジェクトが標準化しています。いくつかのAIツールでは、メインフレーム特有のデータ型やロジックを学習させた独自モデルを用意しており、これにより、メインフレームアプリケーションの解析を容易にしています。

 

影響分析(Impact Analysis)
【成熟度:高く、ツールの統合が進む】

AI単体ではなく、静的解析ツール × AIのハイブリッド構成が一般的となっています。従来、人間が数ヶ月かけていた「修正による波及範囲の特定(この項目を消すと、どのプログラムに影響があるか?)」は、静的解析ツールが生成した依存関係グラフ(Dependency Map)をAIが解釈することで、数秒〜数分で終わるようになっています。

 

“もしこのPL/Iプログラムを修正したら、どこに影響が出るか?”と尋ねると、AIが影響を受けるプログラム一覧と、その影響度(リスク)をリストアップする機能が組み込まれています。

 

テスト生成(Test Generation)
【成熟度:極めて高く、自動化の要】

この分野が最も進んでいます。“ソースコードを書くこと”以上に“テストコードを書くこと”が、AI活用の最大の利用方法として認知されています。

 

現代のモダンな開発パイプライン(CI/CD)にメインフレームのソースコードを乗せ、AIが単体テストコードを自動生成して実行する流れが確立しています。

 

現新比較テスト(リグレッションテスト):

AIが移行前(例:メインフレーム)と移行後(例:クラウド)の実行結果を比較し、微細な差異(浮動小数点の誤差など)を即座に指摘する仕組みが実用化されています。

 

スタブ生成:

他のシステムと密結合しているCOBOLやPL/Iプログラムのテストをする際、ダミーのスタブ(身代わり)をAIがソースコードから自動生成することで、単体テストを効率化しています。

 

各分野では「AIが使えるか?」という議論は終わり、「AIを使いこなすために、どのような社内ガバナンスと、人間によるレビュー体制を構築できるか?」というフェーズに移っています。技術的な限界は急速に解消されつつあり、課題は“技術”から“組織の意思決定”へと移っているのが現状です。

 

6.弊社のAI対応製品:Enterprise Analyzer

Enterprise Analyzerはメインフレーム資産の棚卸などに利用できる静的解析ツールです。外資系企業のAIツールは汎用AIがソースコードを読んで推測するのに対し、Enterprise Analyzerはシステムの構造を論理的に把握した上でAIを利用します。

 

“推測”ではなく“事実”に基づく対話

Enterprise Analyzerは、プログラム間の依存関係、データベースの項目がどこで使われているか(インパクト分析)を、静的解析によって100%に近い正確さで抽出します。この解析結果をもとに、人間がわかる言葉で問い合わせを行う際や、その回答を要約する際にAIを利用しているため、AI特有のハルシネーション(さも真実であるがごとく嘘をつく)を防げます。

 

Enterprise Analyzerの”AIを統合し、自然言語で解析を支援させる”というアプローチは、現在のエンタープライズ市場において”最も現実的で、かつリスク管理に優れた戦略”だと言えます。

 

製品の機能紹介

AIとの対話でリポジトリを検索し、結果を表示する一例をご紹介します。
このウィンドウは、Enterprise Analyzerを起動し、チャットウィンドウで日本語による問い合わせを行った内容です。

 

 

AIは即座にリポジトリ内を検索し、下記のような結果を返してきます。詳しいコードを確認したい場合、“Show Code Research results”をクリックします。

 

 

するとEnterprise Analyzerに標準で用意されている、品質に起因する問題のルールに抵触するソースコードの箇所を示す一覧が表示されます。

 

 

また、ソースコードの箇所をクリックすることで該当箇所にジャンプし、ソースコードの詳細を確認することができます。

 

Enterprise Analyzerの「内視鏡とAI支援による精密治療(活かせる部分は活かし、中身を理解しながら改善する)」アプローチに対し、他AIツールは「外科手術(古い部分を切り取って新しくする)」アプローチなのです。
つまり、「絶対に止めてはいけない基幹システム」を持つ企業にとっての正解だとRocket Softwareは自負しています。

 

7.終わりに

AIは今後も目覚ましい進化を遂げていくことでしょう。すべてをAIツールに任せることは、システムの再ブラックボックス化を引き起こす可能性があるため、人間が人間とAIの役割分担を明確にし、正確に把握することが大切です。弊社のEnterprise Analyzerがその役割を担うことができれば幸いです。

関連情報

【開催レポート】モダナイゼーション フォーラム 2025 ~次世代ITにおけるレガシー資産の価値と進化~

基幹システムを支えるCOBOLやPL/Iといったレガシー資産を、生成AIやクラウドなどの最新技術でどのように進化させていくか。本フォーラムでは、最新動向や具体的な取り組み事例を通じて、モダナイゼーションの現状と可能性を多角的に解説した。

【製品紹介】COBOL製品

ロケットソフトウェアのCOBOL製品は、エンタープライズ・アプリケーションの開発、保守、拡張、統合を強力に支援しています。貴重な既存資産を、Java、.NET、Webサービスなどの最新テクノロジーと連携させ、低コスト低リスクで、ビジネスの変化に迅速に対応するシステム構築を支援します。

SNSでシェアする

  • URLをコピーしました