リバースエンジニアリング


ここ3、4年、可視化ソリューションが流行り言葉です。様々な分野で可視化が叫ばれています。可視化できることは大変ありがたいのですが、実務としては全体が見えて、大きな改善策が見つからなければ意味がありません。ところが、可視化ツールの導入と分析に、改善策導入以上の大きな負担がかかることも珍しくありません。ということから、筆者(島田)は、可視化ソリューションと言われても、余り素直に受け取りません。

金融機関のシステムは、膨大なソフト資産に埋もれています。最近、先輩諸兄がまとめる保険、証券、銀行におけるIT化の歴史に関するレポートを手伝っています。ここ10年はIT化停滞の期間だと思っていたのですが、それでも10年前に比べると大幅にソフト資産が増えています。いつの間にこんなに作ったのかと感心するほどです。その一方で、古いソフトの処分は殆ど行われていません。取り外すのに、手間とコストがかかるばかりでなく、危険も大きいからでしょう。結果として、レガシーであろうとオープン系であろうと、ソフトの巨大化と複雑化が一段と進み、それがTCOを増加させ、システムの寿命を縮めています。まして、事業の統廃合などで期限が切られるような場合は、致命的な問題ともなりかねません。既存システムから一部アプリを、Webシステムなどに移行させようとしても、現行システムに関するドキュメントがない、あっても理解できない。結果として、全く新規に開発するよりも数倍のコストがかかってしまうなどという、経営陣に理解できない事態が発生します。いかに、ソフト資産のライフサイクル管理が重要かの典型例ですが、それでも当面の問題に時間をとられ、ソフト資産管理の優先順位を上げられません。

これは、古くて切実な課題であり、20年以上前からベンダーも様々な努力をしてきました。筆者も1990年頃にリバースエンジニアリングの製品企画に関与したことがあります。当時は、ソースコードからドキュメントを自動的に作成することに主眼が置かれていました。完璧とはいえませんが、あらかたのプログラムのドキュメンテーションは可能でした。しかし、普及しませんでした。ドキュメントを作るだけでは実務に使える場面がなかったのです。開発ツールの方に需要がありました。まだ、作り続ける時代だったのです。今日では、ソフト・リサイクルの時代になったようです。しかし、どのプロジェクトも四苦八苦しています。簡単にソフトの稼働状況、構造、影響分析ができ、ドキュメントを提供してくれるツールの必要性が高まっています。

先日、株式会社アクセスのリバースエンジニアリング技術をベースとしたコストダウンソリューション(REVERSE PLANET AAAサービス、AIRSサービス)を紹介してもらいました。IT投資の7、8割を占める保守運用費を削減し、新規投資にシフトできるソリューションと言えます。同社は、個人信用情報や個人ローン関連システムの実績が豊富なので、筆者も最近、情報交換をさせてもらっておりますが、開発やシステム管理ツールも良いものを持っています。

1.REVERSE PLANET:アプリケーションを可視化し、保守効率向上とソフト属人化防止を可能とするツールです。現行システムを機械的に解析し、システムの構造を詳細に分析します。構造図やジョブフロー、ファイルレイアウトなどをグラフィカルに表示しますので、システムの処理構造を簡単に把握できるようになります。また、新規要件による影響範囲をボトムアップで分析します。プログラムスライシング理論で命令レベルでの高機能分析を行い、入出力関連の影響分析も可能です。実績としては、“都市銀行で調査作業時間の大幅削減(ベテラン社員で21%,中堅社員で46%,若手社員に至っては66%の削減)と正確性向上”を実現しているそうです。

2.AAAサービス:システムの可視化を通じてアプリケーションの棚卸を行うサービスです。静的情報(ソース,COPY句 などのIT資産情報)、動的情報(各種ログ情報)をアクセス社に提示すれば、対象システムの規模によりますが、1ヶ月程度で棚卸結果が報告されます。使われていない資産がわかりますから、それを管理対象から排除できます。稼動資産のアプリケーションに関しては、REVERSE PLANETを使って構造分析、影響分析、スライス分析を行なえば、全体を整理できることになります。その作業をアクセス社に委託することもできます。棚卸をした結果、メーカーで30〜70%の未稼働資産、生保で40%の切り出し候補資産、ノンバンクで50%の未稼働資産が判明し、不要資産を整理したとの実績が報告されています。

3.AIRSサービス:新プラットフォームへのアプリケーション移行を行うサービスです。REVERSE PLANETの解析エンジンとマイグレーションプロジェクトを通じて蓄積した技術とツール群を利用します。レガシーからオープン系へのアプリケーション・ポーティングが代表的な事例です。REVERSE PLANET でシステム構造を分析し、コンバージョン・ツールを使ってポーティングします。その際に、DCロジック、DBロジック、MAP、構造定義、言語、文字コードの各レベルでコンバージョン・ツールをカストマイズします。カストマイズ前提ですので、ポーティング率を大幅に上げることができます。多くの場合、システム移行における棚卸〜コンバージョン迄を6ヶ月で実施し、受入テスト(3ヶ月)を経てカットオーバーに至るようです。代表的な実績として、西濃運輸グループが基幹システム刷新プロジェクトで採用し、“年間6億円の運用コストの半減と災害対策の実現”を達成したとの報道があります。(日経コンピュータ 2007年3月5日号記事)。

 

AAAサービスおよびREVERSE PLANET解析対象は、メインフレーム系、i5系、オープン系ということですが、詳細は、同社のサイトで確認してください。  http://www.acces.co.jp/