200422_セーフウェア


3年前に本書を紹介した時 「一読しただけで本書の内容を全て理解するのは困難で、繰り返し読んでみて、初めて価値がわかる著作なのかもしれない」

という感想を書いた。そして3年ぶりに本書を読んでみた。今回は、前回とは違った観点から本書についての感想を述べたい。

本書はソフトウェアと安全性との関わりに焦点を置いた著作である。筆者は最初に「リスクの性質」と言う章を設けて、事故とソフトウェア(及びコンピュータシステム)について触れている。その中で事故におけるコンピュータの役割やソフトウェアと安全性との関係について記している。またヒューマンエラーについても触れ、所謂「ヒューマンエラー」という概念の不毛さ(事故原因を「ヒューマンエラー」に帰することは無意味に近い)と自動化システムにおける人間の役割について言及している。
次に筆者は「システム安全への序章」「定義とモデル」という章を設けて、システム安全の基本的な概念や用語を解説し、さらに事故におけるヒューマンモデルについて言及している。その中には「労働災害」ではしばしば取り上げられているハインリッヒモデルについても言及されている。この中でハザードとリスクの定義が興味深い。一般に「リスク」は、発現確率と過酷度との積とされているが、ハザードのリスクではその他に「ハザードの暴露」と「ハザードが事故に至る可能性」が考慮されなければならない、としている。
続いて筆者は「セーフウェアプログラムの要素」として、セーフウェアプログラムを実現するために、管理面やプロセス面からの考え方、ハザード分析の方法、ハザード分析モデル、ソフトウェアハザードと要求分析、安全性のための設計等について解説している。まさに本書の主題ともいうべき部分である。ただ個人的には「色々書かれているが肝心な所は曖昧であって、具体的な記述に乏しい」というのが本音。単に筆者の読解能力が足りないだけかもしれないが・・・・。

巻末には20世紀後半に起こった事故の実例を取り上げ、その内容や影響、さらに原因について言及している。取り上げられているのは、医療機器「Therac-25」における放射線過剰照射事故(いわゆる「放射線被爆事故」)、航空宇宙関係ではアポロ13、DC-10型貨物扉、スペースシャトルチャレンジャーの事故が取り上げられている。その他、化学工業分野で3件、原子力関連で3件取り上げらている。その中でソフトウェア技術者として一番興味を惹いたのは「Therac-25」における被爆事故で、その原因は多岐にわたっているが、その1つが「オペレータの神業的キータッチ」というのが恐ろしい。つまりオペレータのキータッチが神業的に早く、さらにその操作が正常操作ではない(単に入力ミスを訂正するだけなのだが・・・・)場合に放射線を過剰照射してしまうというのだから、ソフトウェアによる事故の恐ろしさがわかろうというものだ。ただ本書の出版時期では発生しなかった事故(例えば福島原発事故)は取り上げられていないのはやや残念。近い将来本書が再版された暁には、福島原発事故と、(もし人災であれば)中国武漢におけるコロナウィルス問題を是非取り上げて頂きたい所である。

本書が出版された後、福島の原発事故が発生した。またボーイング737Maxはソフトウェアのバグが原因で2件の重大事故が発生し、約350名の人命が失われた。ボーイング787は就航以来多数のトラブルが報告されているが、現時点でも4桁のソフトウェア不具合が残っているという。現在全世界に深刻な影響を与えている武漢ウィルスについても、これが人災である蓋然性は否定できない。こうしてみるとシステム安全性に対する重要度は今後も益々高まってくる。武漢の例は安全性の欠如が全世界に多大な被害を及ぼす可能性を示唆しているし、737Maxの事例はソフトウェアが人を殺す時代に来ていることを示している。そういった意味で本書の価値は益々高まっていると言えよう。

お奨め度★★★★