Therac-25

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

Therac-25は、Therac-6およびTherac-20ユニット(以前のユニットはCompagnieGénéraleRadiographique(CGR)と共同で製造されていた)の後に1982年にAtomic Energy of Canada Limited (AECL)によって製造されたコンピューター制御放射線治療装置でした。フランス)。

1985年から1987年の間に少なくとも6回の事故に巻き込まれ、患者は大量の放射線を過剰摂取しました。[1] :  425同時プログラミングエラー(競合状態とも呼ばれます)のために、患者に通常の数百倍の放射線量を与え、死亡または重傷を負うことがありました。[2]これらの事故は、セーフティクリティカルシステムのソフトウェア制御の危険性を浮き彫りにし、健康情報学ソフトウェアエンジニアリング、およびコンピュータ倫理の標準的なケーススタディになりました。さらに、エンジニアの自信過剰[1]:  428と、報告されたソフトウェアのバグを解決するための適切なデューデリジェンスの欠如は、エンジニアが最初の作業に自信過剰であり、エンドユーザーの主張を信じられなかったことが劇的な影響を引き起こした極端なケースとして強調されています。

デザイン

マシンには3つの動作モードがあり、ターンテーブルがこれらのモードごとにいくつかの装置を所定の位置に移動します。ライト、いくつかのスキャンマグネット、またはタングステンターゲットとフラットナーのいずれかです。[3]

問題の説明

シミュレートされたTherac-25ユーザーインターフェイス

記録された6つの事故は、X線モードで生成された大電流電子ビームが患者に直接照射されたときに発生しました。2つのソフトウェアの障害が原因でした。[3] 1つは、オペレーターが電子モードにすばやく変更する前にX線モードを誤って選択した場合です。これにより、X線ターゲットを配置せずに電子ビームをX線モードに設定できました。2番目の障害により、フィールドライトモード中に電子ビームがアクティブになりました。このモードでは、ビームスキャナーがアクティブでなかったか、ターゲットが配置されていませんでした。

以前のモデルには、このような障害を防ぐためのハードウェアインターロックがありましたが、代わりに安全性のソフトウェアチェックに応じて、Therac-25はそれらを削除しました。

大電流電子ビームは、意図された放射線量の約100倍の放射線量で、より狭い領域で患者を攻撃し、潜在的に致死量のベータ線を照射しました。その感情は、患者のレイ・コックスによって「激しい電気ショック」と表現され、彼は悲鳴を上げて治療室を使い果たしました。[4]数日後、放射線熱傷が現れ、患者は放射線中毒の症状を示した。3つのケースでは、負傷した患者は後に過剰摂取の結果として死亡しました。[5]

ルートの原因

委員会は、主な原因を、特定のコーディングエラーを特定するのではなく、一般的な不十分なソフトウェア設計および開発慣行に起因すると考えました。特に、ソフトウェアは、厳密な自動化された方法でテストすることが現実的に不可能であるように設計されました[3] :48  [追加の引用が必要]

事故を調査した研究者は、いくつかの原因を発見しました。これらには、以下の制度上の原因が含まれていました。

  • AECLは、ソフトウェアコードを個別にレビューすることはなく、オペレーティングシステムを含む社内コードに依存することを選択しました。
  • AECLは、マシンが望ましい結果を生成する方法と存在する障害モードの評価中にソフトウェアの設計を考慮せず、純粋にハードウェアに焦点を当て、ソフトウェアにバグがないと主張しました。
  • 機械のオペレーターは、過剰摂取は不可能であるとAECLの職員に安心させ、多くの事件の潜在的な原因としてTherac-25を却下させました。[1] :  428
  • AECLは、病院で組み立てられるまで、ソフトウェアとハ​​ードウェアの組み合わせでTherac-25をテストしたことはありませんでした。

研究者はまた、いくつかの工学的問題 を発見しました。

  • いくつかのエラーメッセージには、「MALFUNCTION」という単語の後に1〜64の数字が表示されただけです。ユーザーマニュアルでは、エラーコードについて説明も対処もされておらず、これらのエラーが患者の安全を脅かす可能性があることを示すものもありません。
  • システムは、マシンを停止して再起動が必要なエラーと、単にマシンを一時停止しただけのエラー(オペレーターがキーを押して同じ設定を続行できるようにする)を区別しました。しかし、患者を危険にさらすいくつかのエラーは単に機械を一時停止しただけであり、軽微なエラーが頻繁に発生したため、オペレーターは習慣的に機械の一時停止を解除することに慣れていました。
    • PDP-11コンピュータを制御するVT-100端末で特定のキーストロークシーケンスが入力されたときに1つの障害が発生しました。オペレータが「X」を押して(誤って)25 MeVフォトンモードを選択した場合は、「カーソルアップ」を使用します。入力を「E」に編集して(正しく)25 MeV電子モードを選択してから「Enter」を選択します。すべて最初のキーを押してから8秒以内で、マシンの経験豊富なユーザーの能力の範囲内です。これらの編集は気づかれませんでした。起動に8秒かかるため、デフォルトの設定になります。[3]
  • この設計には、ターゲットが配置されていない状態で電子ビームが高エネルギーモードで動作するのを防ぐためのハードウェアインターロックがありませんでした。
  • エンジニアは、Therac-6およびTherac-20のソフトウェアを再利用しました。これらのソフトウェアは、ソフトウェアの欠陥を隠すハードウェアインターロックを使用していました。これらのハードウェアの安全性には、トリガーされたことを報告する方法がなかったため、既存のエラーは見落とされていました。
  • ハードウェアは、ソフトウェアがセンサーが正しく機能していることを確認する方法を提供しませんでした。テーブルポジションシステムは、Therac-25の失敗に最初に関与したものでした。メーカーは、動作をクロスチェックするために冗長スイッチを使用して改訂しました。
  • ソフトウェアは、フラグ変数をゼロ以外の固定値に設定するのではなく、インクリメントすることによってフラグ変数を設定します。時折、算術オーバーフローが発生し、フラグがゼロに戻り、ソフトウェアが安全チェックをバイパスしました。

Leveson氏は、この事件から得られる教訓は、再利用されたソフトウェアが安全であると想定しないことであると述べています。ソフトウェアモジュールを再利用しても、それらが転送される新しいシステムの安全性は保証されません...」[3] Therac-25に関連するようなインシデントに対応して、開発を導入するIEC62304標準が作成されました。医療機器ソフトウェアのライフサイクル基準と、血統が不明なソフトウェアの使用に関する具体的なガイダンス。[7]

も参照してください

さらに読む

  • ギャラガー、トロイ。THERAC-25:コンピューター化された放射線療法2007年12月12日にオリジナルからアーカイブされました(Therac-25事故の簡単な要約)

参照

  1. ^ a b c サラ・バーセ(2012年8月5日)。「8.2ケーススタディ:Therac-25」火の贈り物:コンピューティングテクノロジーの社会的、法的、倫理的問題(application / ld + json)(第4版)。ピアソンプレンティスホールpp。425–430。ISBN  978-0132492676LCCN2012020988 _ OCLC840390999 _ OL  25355635Mインターネットアーカイブ経由。
  2. ^ レブソン、ナンシーG .; ターナー、クラークS.(1993年7月1日)。「Therac-25事故の調査」コンピューターIEEEComputerSociety26(7):18–41。土井10.1109/MC.1993.274940eISSN1558-0814_ ISSN0018-9162_ LCCN74648480_ OCLC2240099_ S2CID9691171_     
  3. ^ a b c d e f g Leveson、Nancy G.(1995年4月17日)。「付録A:医療機器:Therac-25」(PDF)セーフウェア:システムの安全性とコンピューター(第1版)。アディソン-ウェスリーISBN  978-0201119725OCLC841117551 _ OL  7406745Mセントラルフロリダ大学経由。
  4. ^ ケーシー、スティーブン(1998年1月1日)。フェーザーを気絶させる:そして他の真のデザイン、テクノロジー、ヒューマンエラーの物語(第2版)。エーゲ海出版社。pp。11–16。ISBN 978-0963617880LCCN97077875 _ OCLC476275373 _ OL712024M _
  5. ^ ローズ、バーバラウェイド(1994年6月1日)。「致死量-AECLコンピュータエラーに関連する放射線による死亡」サタデーナイトISSN0036-4975_ OCLC222180972_ 2021年11月24日にオリジナルからアーカイブされました2021年12月27日取得– Canadian Coalition for Nuclear Responsibility(CCNR)経由  
  6. ^ Leveson、Nancy G.(2017年11月1日)。「Therac-25:30年後」コンピューターIEEEComputerSociety50(11):8–11。土井10.1109/MC.2017.4041349eISSN1558-0814_ ISSN0018-9162_ LCCN74648480_ OCLC2240099_    
  7. ^ ホール、ケン(2010年6月1日)。「IEC62304に準拠した医療機器ソフトウェアの開発」MD&DIISSN0194-844X_ OCLC647577709 _ 2021年12月24日取得