自動運転に欠かせない「バグのない制御ソフトを開発する」(1) バグは必ずある
2020年10月6日 07:40
この記事のもとになるのは、日経エレクトロニクス1995年11月出版「欠陥ゼロのソフトウエア開発」だ。そのため1995年から年月が経ち2020年の現在、ソフトウエアのデバッグ(テスト)にAIの利用を踏まえなければ結論が違ってくるものと考えられる。しかし、ソフトウエアの品質を完ぺきに近くしなければならない「クルマの自動操縦」の時代に入ってきている。方向性は同じであり、基礎から振り返ってみたい。
【こちらも】トヨタ組織改編 ソフト開発競争に対応するハードとソフトの開発分離を狙う
■システムには必ずバグ(ソフトの欠陥)があり、責任の所在が不明確
昔から、バグ(ソフトの欠陥)は開発関係者の悩みの種であり、ユーザー側としては本来予測してかからねばならない問題だ。CR手法(Clean Room 手法)などと称して、テストを独立して行うなど「プログラム開発手法の開発」が試されてきた。しかしながら、パソコンやスマホ、スーパーコンピュータまで広く使われている基本プログラム「OS(Operating System)」においても、かなりのバグが見受けられる。
パソコンOS・ウィンドウズのバグにはいつも悩まされるが、未だに解消する気配はない。こうしてMSワードでライティングしている今日もバグを見つけたところだ。複雑なシステムになればなるほど、バグを叩き出すテストが不完全に終わっていく。
このソフト開発の現状において作られているクルマの制御プログラムは、間違いだらけであることは確実なのだ。しかし、そのバグの箇所がほとんど使われないルートにあったり、大した影響を及ぼさないところであったり、表面的には定かに見えないところであったりと、話はややこしくなる。
かつて所有していたBMWの電子制御では、ひどい目にあわされた記憶が鮮明に残っている。システムの間違いであることは明白なのだが、メーカーが修正出来ず責任を取らないのだ。ユーザー側から欠陥を証明することはデータがない以上不可能であり、「危険な状況を証明する」のに直接的データなしの「状況説明」だけになってしまう。日本の法律の立て付では、メーカーに法的責任を取らせることも出来ず、注意しながらクルマを使用していくしかないのだ。
この問題は現在ではかなり解消しつつあるが、BMWに限ったことではなく、もちろん他社でも同じような状況だ。スバルのエンジン制御でも危険を感じる程度のバグがあった。しかし、対策は完全ではなくそのまま使用するしかなかった。もちろんスバルが保証することはなく、逆に「クレーマー」扱いされてしまった。これが、「クルマ制御ソフトのバグ処理」の現実だ。
このまま将来「自動運転」となってくると深刻だ。現在の「運転支援システム」でも欠陥は存在すると言えるが、表面化することがない。「運転支援」つまり「運転の補助システム」との位置づけにより運転手の責任となり、システムを作ったメーカーの法的責任を逃れているためだ。
この先、運転手が全く運転をしないシステムが登場した時、事故処理では問題が生じるだろう。日本では早くも自動運転レベル3の法体系が出来たようだが、レベル4、レベル5と進むには、技術開発と法整備がさらに必要なのだ。(記事:kenzoogata・記事一覧を見る)