Ticker

6/recent/ticker-posts

History of Therac 25 and Root Cause



 Therac 25 :- The Therac-25 was a computer-controlled radiation therapy machine produced by Atomic Energy of Canada Limited (AECL) in 1982 after the Therac-6 and Therac-20 units (the earlier units had been produced in partnership with CGR of france).

It was involved in at least 98 accidents between 1985 and 1987, in which patients were given massive overdoses of radiation. Because of concurrent programming errors(also known as race conditions), it sometimes gave its patients radiation doses that were hundreds of times greater than normal, resulting in death or serious injury. These accidents highlighted the dangers of software Control of safety-critical systems, and they have become a standard case study in health information , Software Engineering , and Computer ethics. Additionally, the overconfidence of the engineers and lack of proper due diligences resolve reported software bugs are highlighted as an extreme case where the engineers' overconfidence in their initial work and failure to believe the end users' claims caused drastic repercussions .

Root cause therac 25 :- found Engineer

  • Several error messages merely displayed the word "MALFUNCTION" followed by a number from 1 to 64. The user manual did not explain or even address the error codes, nor give any indication that these errors could pose a threat to patient safety.

  • The system distinguished between errors that halted the machine, requiring a restart, and errors which merely paused the machine (which allowed operators to continue with the same settings using a keypress). However, some errors which endangered the patient merely paused the machine, and the frequent occurrence of minor errors caused operators to become accustomed to habitually unpausing the machine Machine operators were reassured by AECL personnel that overdoses were impossible, leading them to dismiss the Therac-25 as the potential cause of many incidents.

  • One failure occurred when a particular sequence of keystrokes was entered on the VT-100terminal which controlled the PDP-11computer: if the operator were to press "X" to (erroneously) select 25 MeV photon mode, then use "cursor up" to edit the input to "E" to (correctly) select 25 MeV Electron mode, then "Enter", all within eight seconds of the first keypress, well within the capability of an experienced user of the machine.

  • The design did not have any hardware interlocksto prevent the electron-beam from operating in its high-energy mode without the target in place. 

  • The engineer had reused software from the Therac-6 and Therac-20, which used hardware interlocks that masked their software defects. Those hardware safeties had no way of reporting that they had been triggered, so preexisting errors were overlooked.

  • The hardware provided no way for the software to verify that sensors were working correctly. The table-position system was the first implicated in Therac-25's failures; the manufacturer revised it with redundant switches to cross-check their operation.

  • The software set a flag variable by incrementing it, rather than by setting it to a fixed non-zero value. Occasionally an arithmetic overflow occurred, causing the flag to return to zero and the software to bypass safety checks.

  • A commission attributed the primary cause to general poor software design and development practices rather than single-out specific coding errors. In particular, the software was designed so that it was realistically impossible to test it in a clean automated way.

  • AECL did not have the software code independently reviewed and chose to rely on in-house code, including the operating system.

  • AECL did not consider the design of the software during its assessment of how the machine might produce the desired results and what failure modes existed, focusing purely on hardware and asserting that the software was free of bugs.

  • Machine operators were reassured by AECL personnel that overdoses were impossible, leading them to dismiss the Therac-25 as the potential cause of many incidents.

  • AECL had never tested the Therac-25 with the combination of software and hardware until it was assembled at the hospital.

Reactions

Post a Comment

3 Comments

  1. Nice Rohit sir... Very informative information. I will for next Article.

    ReplyDelete
  2. Thank you rohit sir

    ReplyDelete
  3. I think '98 incidents' is a typo?

    ReplyDelete