「レクサス」動かす1000万行――ソフトの品質を議論すべき時が来た

 トヨタが9月に発表した「レクサス」ブランドの最高級車「LS460」。障害物を検知するレーダーや距離を立体的に捉えるためのカメラ、夜間での認識能力を高める近赤外線など数々の高度な安全装備が搭載されている。一方、その安全装備を制御するのために膨大なソフトウエアが組み込まれていることはご存知であろうか。そしてこのソフトウエアの品質が安全にも大きく関与することにお気づきであろうか。
 レクサスのカタログには次の通り記載されている。「前方の車両や障害物を検知する高性能ミリ波レーダーに加え、大きさや距離を立体的に捉えるステレオカメラと、夜間の認識能力を高める近赤外線照射で前方の状況を常時監視。これまでは難しかった歩行者等の検知機能を飛躍的に向上させています。衝突の可能性が高いと判断した場合には、ドライバーに警報ブザーで知らせ、ブレーキを踏むとアシストが作動して制動力を高めます。ブレーキ操作がない場合には、プリクラッシュブレーキを作動させて衝突速度を低減、万一の衝突前にはプリクラッシュシートベルトを作動させて衝突被害を軽減します」。
 ドライバーモニター付ミリ波レーダー・ステレオカメラヒュージョン方式というのがこの正式名称らしい。高性能CPUを搭載した電子基盤が100個以上搭載され、特に画像処理用には毎秒1000億回もの処理能力のある特製CPUを使っているという。
 よくよく考えるとジェット戦闘機に搭載されるようなシステムである。聞いた話では、この車のために開発されたソフトの規模はなんと700万ステップだという。かつて我々が昭和50年代に作っていた金融機関用の巨大基幹システムが、数百万ステップだったことを考えると、隔世の感がする。
 これにはカーナビ用のソフトやハイブリッドシステムを制御するソフトは含まれていない。それらも含めると、車に搭載されるソフトは1000万ステップを軽く超えるであろう。もちろん通常の企業用情報システムと違って、各電子基盤ごとに制御ソフトが構築され、連動するようになっているので単純な比較はできないが、上記のような複雑な連動システムは、様々な状況下で仕様どおりに動作することを担保するのは非常に大変だ。
 ソフトの量が膨大になっているという意味では携帯電話端末も同様だ。最近のように様々な機能が盛り込まれると、第3世代機ではやはり1000万ステップ以上になる。しかし携帯の場合、仮にソフトウエアの制御がきかなくなり暴走したとしても人に危害を及ぼす機能はない。ところが、車の場合は大半の機能が人命にかかわる。
 1000万ステップを超える規模のソフトとなると、開発そのものが大変なだけではなく、品質・信頼性を確保することも至難の業だ。ソフトがきちんと規定された通りに動作する、この単純なことを確保するのが大変難しい。開発現場は神経を張り詰めての作業が続いたはずだ。
 現在は車種ごとに異なるソフト開発が行われているが、一部ソフトの部品化と共用化が進展しつつあり、品質・信頼性の確保は必須の条件だ。
 問題はソフトの品質・信頼性を高めるための方法論が確立していないことだ。一般的にバグがないことを証明するのは不可能と言われているから、必ず不具合が存在するのは避けられない。しかしどの程度の「不具合」具合かすら規定・計測する方法が確立していないのだ。このような状況にあるにもかかわらず、様々な機能のニーズに対応するために車や携帯電話、その他機器に搭載される組み込みソフトの規模は拡大の一途だ。
 通常、ソフトは製造物責任(PL)法の対象外である。車のように多数の機能をソフトで実現するようになると、PL法の対象外ですとは言っていられないであろう。それでも外部に開発委託をしたソフトが原因でリコ−ルになったときの、自動車メーカーと外注ソフト会社の責任・費用分担は曖昧なままだ。
 これまで人命にかかわるようなソフトトラブルは発生していないと思われる。「思われる」と言うのはあったかもしれないが、ハード側の原因ということで決着している可能性があるからだ。これからはソフトトラブルで人命にかかわる事故が本当に起きうるのだ。
 品質・信頼性をいかに規定し、いかに計測するか、それをどのように現場で実践させるか。事故が起きたときにはどのような対応が妥当か。PL法の対象外と言っているだけでは済まないだろう。品質を向上させるための開発現場の苦労をどのように軽減するかという議論と並行して、社会的に影響の大きい様々な事項を決めていかなければならない時期に来たといえよう。
http://it.nikkei.co.jp/business/news/index.aspx?n=MMIT0z000023102006