富士通研究所は10月11日、業務システムのプログラムを解析して業務の決まりや計算方法を条件表として自動抽出する技術を開発したと発表した。
さまざまな企業や組織の業務システムでは、過去に作られたシステムを継続して使用しており、長年にわたって細かな改良や機能が追加されて大規模かつ複雑化、仕様書の最新化も行なわれていないことが多い。元々のプログラム開発を行なった技術者の散逸もあって、業務システムの更新やクラウドへの移行は困難を極める。業務システムを変化に強いものに移行していくためには、業務仕様をプログラム作成不要で業務ルールを自動的に実行できるBRMSのように条件表の形で管理することが重要だが、現状のプログラムから業務仕様を掘り起こして仕様書を再整備し条件表の形に加工することは大規模複雑化した業務システムでは難しい。
こういった作業では従来、プログラムが実行しうる処理経路を抽出する「シンボリック実行技術」により解析していたが、大規模システムでは処理経路自体が膨大な数に上り適用が難しいという問題があった。富士通研究所では、業務ロジックの複雑さやプログラム構造に着目して処理ブロックに分割し、部分ごとに独自のシンボリック実行技術を用いて条件表を抽出。次に、サブルーチン呼び出しなどプログラムの流れとプログラム中の変数の参照や更新を解析して、分割生成した条件表を結合するという処理条件表の再構築手段を開発した。
条件表を取り出す際、サブルーチンの呼び出しなどをの不要な経路を削減することにより、従来のシンボリック実行では3060個の実行経路の分析が必要であったところを41個に削減。これまで分析できなかった業務プログラムから業務仕様を抽出可能となった。大規模なCOBOLプログラムに適応した事例では、仕様書再整備の時間を2/3に削減してBRMSへの移行を確認したという。
富士通研究所ではこれまで開発した業務ロジックの複雑度を可視化する技術などとあわせ、システム移行のためのアプローチの2017年度中の実用化を目指すとしている。