Tragic Accidents

The designers of the Therac-25 thought that they were improving the older editions (Therac-6 and Therac-20) and making it more efficient so that they could help more patients and save more lives. While it did help some people, it also led to 6 tragic accidents. How did this happen? Well according to “Killed by a Machine” the problem was twofold. First, the software controlling the machine contained bugs and second, the machine only relied on the controlling computer for safety. In the update, they had replaced the interlocks, which in previous versions had prevented something dangerous from happening. If an accelerator was activated in an invalid mode then it would blow a fuse and the machine would shut down.

After the accidents, researchers found that the Therac-25 would display a “Malfuction-54” message when an error occurred. This meant that the computer could not determine if there was an underdose or overdose, and would just hit the patient with a very radioactive beam. It all had to do with the timing of things. “If the user selected X-ray mode, the machine would begin setting up the machine for high-powered X-rays. This process took about 8 seconds. If the user switched to Electron mode within those 8 seconds, the turntable would not switch over to the correct position, leaving the turntable in an unknown state.”

After figuring out the reason for these horrible accidents, people wanted to blame the programmer, especially because he had little experience with coding for real-time systems. However, is this fair? What about his supervisor, or the hospitals that brought these machines in or the FDA? Why is it not any of their responsibility. Or even the people that designed the machine. Sure the code had a bug in it, but what about the fact that safety-critical loads were placed upon a computer system that was not designed to control them.

Overall, I think that the responsibility should be shared. I think the programmer should have asked for trial runs or help when coding if he was unsure of real-time systems, but I think other precautionary steps should have been taken.

Leave a comment