静的解析の重要性……大規模組込み開発で重要:カーナビ開発で有効なツールは? | RBB TODAY

静的解析の重要性……大規模組込み開発で重要:カーナビ開発で有効なツールは?

ブロードバンド セキュリティ

導入事例:三菱電機事業開発室
  • 導入事例:三菱電機事業開発室
 自動車がハイブリッド、EVと進化していってガソリンエンジンがなくなったとしても、車載情報端末としてのカーナビはなくならないだろう。

 現在カーナビはGPS機能や地図表示、検索機能だけでなく、AV機器、バックビューカメラ、ETCや通信機能など、インフォテインメントやカーテレマティクス端末としてさまざまな機能を担っているからだ。さらに、ドライブレコーダー、周辺監視モニター、自動運転、車車間通信、路車間通信、パッシブセーフティおよびアクティブセーフティ機能といったITSに欠かせない機能の制御や管理を行い、自動車のメインコンソールのような存在になるかもしれない。

 そのカーナビは、大規模組込み開発の典型例のひとつである。GPSのようなリアルタイム処理をしながら、データベースやインターネット接続のようなミドルウェアや高度なアプリケーション機能も要求される。単体テストや結合テスト、そしてデバッグを多数のチームでこなさなければならない。しかも、組込み製品と常として、出荷後の改修やアップデートは現実的に困難を極める。

 開発プログラムのバグを以下に減らすか。いかにテストを効率よく進めるかは、多くの開発エンジニアの頭を悩ます問題だ。対策として、開発環境の整備、テスト駆動型の開発スキームの導入、統合デバッグ環境の整備などを考えるわけだが、静的解析によるコードの論理エラー、問題点を検出する手法もじつは効果的である。前者は、おもにコードが完成してから実行段階のチェックやデバッグ作業に関する手法だが、後者の静的解析は、コードを実行する前にバグ、もしくはバグの芽を摘むという作業のための手法といえる。

 静的解析の効果や重要性は一般論として業界には浸透しており、開発プロセスに事前検証やコードの品質評価のフェーズを取り入れているベンダーは多い。しかし、現場では解析ツールの出す情報が整理されていない、「ノイズ」情報が多く肝心のバグ情報が埋もれてしまうといった声も聞く。ユーザー側の設定や使い方い問題があることもあるが、やはり安価な製品にはとにかくレポートをたくさん出力して、あとは利用者の判断に任せるというものもあるようだ。

 もちろん優秀なプログラマなら、ノイズが多くても詳細なレポートのほうがよいという意見もあるだろう。しかし、大規模開発において多数の開発者がかかわり、無数のモジュールを組み合わせる必要がある。カーナビのような製品開発においては、解析精度の高いツールの導入、自社製品の特性にあったツールの導入がトータルの開発時間の短縮およびコストダウンにつながる。

 たとえば、マツダ/ユーノス『コスモ』にGPSを利用したカーナビを世界で初めて搭載した三菱電機は、高価であるが解析精度の高い静的解析ツールを導入し、開発効率をアップさせたという。最近の高性能な静的解析ツールは、問題個所を指摘するだけなく原因と思われる情報や、関連のあるモジュールや場所まで解析してくれるものもある。コードレビューや静的解析の効果に疑問を持っているなら、その手順やツールの選定が適切かどうか見直してみてはどうだろうか。

★静的解析ツール導入事例(コベリティ):三菱電機事業開発室
ダウンロード URL
http://expotoday.com/event/1025/booth/29263
《中尾真二》

関連ニュース

特集

page top