既存プログラムのソースコードを自動で解析し、可視化するツール開発が相次いでいる。富士通はオープンソース・ソフトウエア(OSS)に基づく製品開発、保守を効率化するツールを発表する。NECはACOS-4/COBOLプログラムの利用者向けのツールを販売を始めた。

富士通の保守、開発の作業高速化戦略

「関数変更による確認の作業時間が、4分の1になった」と話す富士通研究所の梅川竜一システム技術研究所基幹系ソフトウェア開発技術プロジェクト主管研究員
「関数変更による確認の作業時間が、4分の1になった」と話す富士通研究所の梅川竜一システム技術研究所基幹系ソフトウェア開発技術プロジェクト主管研究員
[画像のクリックで拡大表示]

 富士通は2016年4月27日、ソースコード変更点を可視化するツールの開発を発表する。利用者はあらかじめ同ツールを使って、変更する前後のソースコードを解析する。解析後はプログラム構造の変化を視覚的に表示できる(図)。Java、C、C++のソースコードが解析できる。

 ツールは同社の技術者が効率よく保守、開発するためのもの。顧客企業向けのOSS(オープンソース・ソフトウエア)を使った製品開発で保守作業の効率化を求める声に応えて、富士通研究所が開発した。380万行のソースコードから、約400の変更箇所の認識作業をテストした。従来26時間かかった認識作業が、ツールの利用で6.5時間になった。

 富士通研究所が新たに開発したのは、新旧プログラムの構造変化解析と関数名の検索を高速化する技術。構造変化は、関数の呼び出し関係を断片化して解析する。変更した部分だけ抽出することで、全ての経路を比較する手法に比べて解析時間を約44%短縮した。関数名検索は、文字列ごとにあらかじめ関数名の辞書を作成しておくことで高速化する。辞書を使わずデータ検索する手法に比べて、検索時間は最大で15倍速くなった。

図●富士通が開発したツールが表示する、関数の呼び出し関係。赤い経路は新バージョンで削除された。青い経路は新たに追加された。
図●富士通が開発したツールが表示する、関数の呼び出し関係。赤い経路は新バージョンで削除された。青い経路は新たに追加された。
(提供:富士通)