シリーズ全体の振り返り
このシリーズでは、ソースコードが失われた COBOL モジュールを分離・再構成し、等価性を検証するまでの全工程を解説しました。
| フェーズ | 主な作業 | 参照記事 |
|---|---|---|
| 基礎理解 | ビルドフローと各成果物の役割を理解する。作業フローとリスクを事前に把握する。 | PART 02, 03 |
| 調査・抽出 | コンパイルリスト・リンカーマップからエントリポイントを特定。ツールで補完する。 | PART 04, 05 |
| 再構成 | PROGRAM-ID 単位でファイル分割し、命名規則・ディレクトリを設計。コピーブックを整理する。 | PART 06 |
| 検証 | 再コンパイルと入出力比較テストで等価性を担保する。 | PART 07 |
| 次工程 | Git 管理・モダナイゼーション接続・作業記録ドキュメント化。 | PART 09 |
作業完了チェックリスト
📋 事前準備
- ビルド環境(コンパイラ・OS・バージョン)を確認した
- 本番ロードモジュールをバックアップした
- 作業環境を本番から完全に分離した
- 残存成果物(コンパイルリスト・リンカーマップ・コピーブック)を棚卸しした
🔍 調査・抽出
- コンパイルリストから PROGRAM-ID・ENTRY 文を全件抽出した
- CALL 依存関係グラフを作成した
- 動的 CALL の対象プログラムを実行時トレースで確認した
- コピーブックの過不足を確認した
📁 再構成
- PROGRAM-ID 単位でソースファイルを分割した
- 命名規則・ディレクトリ構成を決定した
- コピーブックの重複を排除して一元管理できた
- IBM 拡張構文・EXEC SQL など要対応箇所を記録した
✅ 検証
- 再コンパイルがエラーゼロで完了した
- シンボル名(PROGRAM-ID・ENTRY)が元と一致した
- 正常系・境界値・異常系テストで出力が一致した
- 終了コードが一致した
📦 次工程準備
- Git 初期コミットが完了した
- 作業記録ドキュメントを作成した
- 制約事項・注意事項を記録した
- モダナイゼーションの方針(Java移植 / API化 / リフト&シフト)を決定した
参考資料・ツールリンク集
| ツール / 資料 | 用途 | URL |
|---|---|---|
| GnuCOBOL | オープンソースCOBOLコンパイラ。Linux/Windows対応。 | gnucobol.sourceforge.io |
| IBM Enterprise COBOL マニュアル | z/OS 環境のコンパイラリファレンス。 | ibm.com/docs/en/cobol-zos |
| Ghidra | NSA 公開の逆アセンブラ。ELF/PE 対応。 | ghidra-sre.org |
| GNU Binutils (nm/objdump) | ELF シンボル解析の基本ツール群。 | gnu.org/software/binutils |
| Micro Focus Enterprise Analyzer | 商用COBOLの依存関係グラフ・コード解析ツール。 | microfocus.com |
シリーズ記事一覧
Series — COBOLコンパイルモジュールからソースコードを分離する
PART 01はじめに — この記事の使い方・シリーズ概要
PART 02COBOLのビルド成果物を理解する
PART 03分離作業の全体像とリスク把握
PART 04シンボル・リストファイルから手がかりを集める
PART 05ツールを使った構造解析
PART 06ソースコードへの再構成
PART 07分離結果の検証
PART 08よくある落とし穴と対処法
PART 09分離後の次のステップ
PART 10まとめ・チェックリスト・参考資料(このページ)
✅ お疲れ様でした
全10回のシリーズを通じて、COBOLコンパイルモジュールからソースコードを分離し、等価性を確認するまでの全工程を解説しました。分離済みソースコードを Git で管理し、次のモダナイゼーション工程へつなげてください。