メインフレーム系のCOBOLなどで作られたレガシーシステムの構造解析やWeb系へのマイグレーションをビジネスとされている会社の社長さんとお会いした。

現存するプログラムのソースコードやデータベースの定義などを解析すれば、そこから実装基盤をおきかえるのは自動で可能のはずとの信念の元に、自動マイグレーションに取り組まれている。機能はそのままで、実行基盤をオープン系のJavaや.Net環境に移行することで、運用費を削減できるため、また、現行マシンのリースアップや保守切れにより、移行を考えている企業は多い。しかし、景気低迷で、直接的なビジネスメリットを生まない案件への投資を控えているところが多く、せっかく良いツールを準備されても、ユーザの発掘が大変そうだ。
レガシーのソースコードを解析して、個々のデータがどのような条件の時にいかなる加工が施されるかを紐解き、出力データに変遷していくのかが解れば、それがシステム仕様となる。それらの情報を整理して蓄積したものがリポジトリとなる。このリポジトリで現行システムの全てを表そうという考えである。そうすれば、ソースコードを管理する必要はなくなる。実行命令を生成するために、必要に応じてリポジトリからソースコードを自動生成してコンパイルすれば良い。
現行さえうまく解析できれば、生成系のツールは種々あるのでそれらの入力形式に揃えれば良い。
解析結果を業務仕様的に組立て、生成系のツールへの入力情報に仕立てあげるかが難しいところだ。