組み込みソフトウエア現場には、開発者の異動などによって、中身がよく分からないソースコードが山のようにある。ブラックボックスとしてそのまま使っていて問題ないケースは多いが、改良しようにも手が出ないとか、顧客に説明できないといった課題に遭遇することは少なからずある。

図1●開発した自動化ツールの概要 東芝の説明パネル。
図1●開発した自動化ツールの概要 東芝の説明パネル。
[画像のクリックで拡大表示]

 こうした課題を解決することを狙って、東芝では「リファクタリングサービス」を以前から行ってきた。既存のソースコードからソフトウエアの機能仕様を抽出するサービスである。以前はこのサービスはすべて手作業で行っていたが、一部の作業(ソースコードからデータフローグラフを抽出する作業)を自動化するツール(ソフトウエア)を開発し、作業効率を向上させた。開発したツールを、2015年11月5日と6日に東京で開催したプライベートイベント「東芝ICTソリューションフェア2015」の展示ブースで見せた(図1)。

 ブースの説明員によれば、トヨタ自動車のECU向けC言語ソースコードの機能仕様抽出では、自動化ツールを使うことによって、5万行のソースコードから1カ月半で仕様書を作成できた。仮にすべて手作業だとすると、3~4カ月かかるという。また、東芝社内のSSD(Solid State Drive)制御用C言語ソースコードの場合は、全手作業に比べて工数が1/10にまで削減できたことを確認したとする。SSDの方が削減効果が大きいのは「動作モード数が多くてコードが複雑になり、人手解析に比べて自動化ツールの優位性が高まるから。SSDの場合は動作モードが10以上あった」(同説明員)。