日産自動車、ソフトウェアの信頼性を向上

ユーザー事例
日産自動車、ソフトウェアの信頼性を向上
日産 フェアレディZ
日産自動車の最優先事項は品質です。
日産
自動車株式会社 ソフトウェア品質グループ
のリーダー、菊池光彦氏は次のように説明
します。
「日産は顧客に対して重大な責任
を担っていますので、当社の車両には厳格
な品質基準が設けられています。
これらの
基準は、車両搭載の組み込みソフトウェア
にも適用されます。品質評価プロセスが全
ての電子制御ユニット (ECU) 上のソフトウ
ェアに効率的に適用されるよう、
ソフトウェ
ア品質グループは全てのサプライヤーと協
働して、
プロジェクトの開始から節目ごとに
ソフトウェアのレビューを行っています。
ま
たソフトウェア品質グループは、
ソフトウェ
ア品質について日産の役員に直接報告し
ています。」
課題
Software Engineering Evolution Program
(SWEEP) では、サプライヤーを含めた日
産全体のソフトウェア設計、
コーディング
およびテストを含む、
ソフトウェア開発プ
ロセスの評価を行っています。2001 年ま
で、SWEEP では、単体テスト、統合テストま
たはシステム テストにおいて、標準的な開
発手法の観点から品質目標を設定していま
した。
これらは、開発活動ごとに設定されて
いるロバスト性の目標に照らしてチェック
されていました。
課題
ソフトウェア品質を向上させるために、発見が困難
なランタイムエラーを特定する
ソリューション
MathWorks のPolyspace製品を使用して、日産と
サプライヤーのコードを包括的に解析する
結果
•
•
•
サプライヤーのバグを検出して評価
ソフトウェアの信頼性が向上
日産のサプライヤーが Polyspace 製品を採用
菊池氏は次のように述べています。
「日産と
サプライヤーは完璧なソフトウェア ロバス
ト性を確保するために、テスト フェーズに
多くの工数を費やしていました。」
グ エラー、その他の問題によって引き起こ
されるソフトウェア バグという問題に直面
していました。
コーディングルール検証ツ
ールや構造検証ツールで、問題の一部に対
応することはできましたが、
これらのツール
ではゼロ除算、オーバーフロー、範囲外の
配列へのアクセスといったランタイムエラ
ーを特定することはできませんでした。」
ソリューション
菊池氏はまず最初に、ルノー・日産アライ
アンス内部の同僚からPolyspace® 製品に
ついて学び、Polyspace Bug Finder™ および
Polyspace Code Prover™ のランタイムエラー
検出機能を評価するベンチマーク テスト
を実施しました。
「私たちは既に 2 つの静
的解析ツールを使用していましたが、パイ
ロット プロジェクトで Polyspace 製品を試す
ことしました。パイロットが成功するとすぐ
にPolyspace 製品を導入し、私たちがレビュ
ーする全てのソフトウェアに使用すること
にしました。サプライヤーはそれぞれ異な
る開発環境、マイクロプロセッサ、
クロスコ
ンパイラを使って独自にソフトウェアを開
発しているため、彼らのコードを迅速に解
析する効率的なプロセスも構築しました。」
日産は、特定されたすべてのバグを重大さ
に応じてメジャー (即時に修正する必要あ
り)、
ミディアム (今後のリリースで修正する)
およびマイナーの3 つのレベルに分けるこ
とにしました。
菊池氏は、Polyspace 製品を使用して、他ツ
ールで検証済みのコード内にランタイムエ
ラーが存在するかチェックする際の制約と
基準を構築しました。
その当時、
ソフトウェア品質グループは、
コ
ーディングルールのチェックと、
ソース コ
ードの内部構造の検証を自動化する、2 つ
菊池氏は次のように述べています。
の静的解析ツールを使用していましたが、
「Polyspace 製品は、
どのコードを実行した
真のニーズは満たされていませんでした。
時にランタイムエラーが発生しうるかを明
菊池氏は次のように説明しています。
「日産
らかにするだけでなく、実行条件に関係な
は、
プログラム構造の複雑化やコーディン
「Polyspace 製品によって、高レベルなソフトウェアの信頼性を確保することができます。
これは、業界内の他のツールにはできない
ことです。」–日産自動車 菊池光彦氏
く決してランタイムエラーが発生しないコ
ードを特定することができます。
しかもコー
ディング中、つまり単体テストの前に検証
できるため、サプライヤーにとって非常に
大きな価値があります。」
「私たちはサプライヤーに対してPolyspace
製品を開発環境で使用するよう強制するこ
とはありませんが、サプライヤーが組織的
に活用することは大きなプラスであると考
えています。
コーディングの際にいつどのよ
うにPolyspace 製品が使用されるかを知る
ことで、私たちはコードの信頼性について
大きな自信を持つことができます。
ソフトウ
ェアのロバスト性と信頼性が最も効率的な
方法で確保されていることの保証となるの
です。」
と菊池氏は結論付けます。
結果
サプライヤーのバグを検出して評価。菊池
氏は次のように述べています。
「Polyspace
製品を使用すると、結果を容易に評価でき
ます。私たちは、1 つのプロジェクト (3 万行
または 100K の ROM 容量) につき、サプラ
イヤーによって即時に修正されるべきメジ
ャーバグがおよそ5つあることを発見しまし
た。
これらのプロジェクトは既存のツール
で検証済みとされていました。Polyspace 製
品を使用していれば、
これらのバグはより
早い段階で発見できたはずであり、バグの
数は5つよりも少なかったはずです。」
産業
•
自動車
製品機能
•
確認、検証、テスト
使用製品
•
•
Polyspace Bug Finder
Polyspace Code Prover
日産自動車に関する詳細はこちらをご覧くだ
さい
www.nissan-global.com
ソフトウェアの信頼性が向上。菊池氏は次
のように述べています。
「Polyspace 製品に
よって、従来のテストよりはるかに低いコス
トで、
アプリケーションが確実に動作するこ
とが担保されます。機能テストがランタイ
ムエラーによって妨げられなくなったこと
は、言うまでもありません。」
日産のサプライヤーが Polyspace 製品を採
用。多くの日産のサプライヤーが Polyspace
製品を自社開発に取り入れようとしていま
す。
「当社のサプライヤーは、単に当社が強
く推奨したから Polyspace 製品を採用した
わけではありません。サプライヤーは、
プロ
セスの初期段階からソフトウェアの信頼性
を確保することが、厳しいコストの制約の
中で高品質なアプリケーションを提供する
最適な方法であると知っているのです。
ま
た、
ランタイムエラーの不在を証明し、
ソフ
トウェアの信頼性を確保できるツールが
Polyspace 製品だけであることもわかってい
るのです。」
と菊池氏は述べています。
mathworks.co.jp
© 2016 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See mathworks.com/trademarks for a list of additional
trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders.
92976v00 03/16