25.8.2015Dr Andy Brooks1 Lecture 4 Therac-25, computer controlled radiation therapy machine, that killed people. FOR0383 Software Quality Assurance.

Slides:



Advertisements
Similar presentations
ES050 – Introductory Engineering Design and Innovation Studio Prof. Ken McIsaac One last word…
Advertisements

CSCI 5230: Project Management Software Reuse Disasters: Therac-25 and Ariane 5 Flight 501 David Sumpter 12/4/2001.
“An Investigation of the Therac-25 Accidents” by Nancy G. Leveson and Clark S. Turner Catherine Schell CSC 508 October 13, 2004.
The Therac-25: A Software Fatal Failure
National Health Information Privacy and Security Week Understanding the HIPAA Privacy and Security Rule.
Background Increasing use of automated systems Hardware and software technology are improving rapidly User interface technology is lagging Critical bottleneck.
An Investigation of the Therac-25 Accidents Nancy G. Leveson Clark S. Turner IEEE, 1993 Presented by Jack Kustanowitz April 26, 2005 University of Maryland.
Can We Trust the Computer? Case Study: The Therac-25 Based on Article in IEEE-Computer, July 1993.
Therac-25 Lawsuit for Victims Against the AECL
+ THE THERAC-25 - A SOFTWARE FATAL FAILURE Kpea, Aagbara Saturday SYSM 6309 Spring ’12 UT-Dallas.
Computingcases.org Safeware
Software Engineering Disasters
Mr. R. R. Diwanji Techniques for Safety Improvements.
Motivation Why study Software Engineering ?. What is Engineering ? 2 Engineering (Webster) – The application of scientific and mathematical principles.
COMS W3156: Software Engineering, Fall 2001 Lecture #2: The Open Class Janak J Parekh
Jacky: “Safety-Critical Computing …” ► Therac-25 illustrated that comp controlled equipment could be less safe. ► Why use computers at all, if satisfactory.
CSE 341 S. Tanimoto Social/Ethical Issues - 1 Social and Ethical Issues in Programming Language Design Can harm be done by designers of programming languages?
CS 235: User Interface Design January 22 Class Meeting
Introduction to Computer Technology
Advanced Biomedical Imaging Dr. Azza Helal A. Prof. of Medical Physics Faculty of Medicine Alexandria University.
 Veterinary Technicians 101 In cooperation with: The Emma Barnsley Foundation The PEER Program at Texas A&M College of Veterinary Medicine & Biomedical.
Lecture 7, part 2: Software Reliability
DJ Wattam, Han Junyi, C Mongin1 COMP60611 Directed Reading 1: Therac-25 Background – Therac-25 was a new design dual mode machine developed from previous.
CLINICAL ENGINEERING part(3) Dr. Dalia H. Elkamchouchi.
Death by Software The Therac-25 Radio-Therapy Device Brian MacKay ESE Requirements Engineering – Fall 2013.
Therac-25 : Summary Malfunction Complacency Race condition (turntable / energy mismatch) Data overflow (turntable not positioned) time‘85‘86‘88 ‘87 Micro-switch.
Chapter 1- “Diversity” “In higher education they value diversity of everything except thought.” George Will.
Software Safety Case Study Medical Devices : Therac 25 and beyond Matthew Dwyer.
Therac-25 Final Presentation
Therac 25 Nancy Leveson: Medical Devices: The Therac-25 (updated version of IEEE Computer article)
ITGS Software Reliability. ITGS All IT systems are a combination of: –Hardware –Software –People –Data Problems with any of these parts, or a combination.
Course: Software Engineering © Alessandra RussoUnit 1 - Introduction, slide Number 1 Unit 1: Introduction Course: C525 Software Engineering Lecturer: Alessandra.
CS 235: User Interface Design August 25 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Liability for Computer Errors Not covered in textbook.
Should Engineers Be Licensed Like Doctors?. Medical Physicist  “Medical Physicist  “Some people do nuclear medicine, others do diagnostic radiology.
Security and Reliability THERAC CASE STUDY TEXTBOOK: BRINKMAN’S ETHICS IN A COMPUTING CULTURE READING: CHAPTER 5, PAGES
# 1: F 282 The services provided or arranged by the facility must be provided by qualified persons in accordance with each resident’s written plan of.
Dimitrios Christias Robert Lyon Andreas Petrou Dimitrios Christias Robert Lyon Andreas Petrou.
Using Radiation in Medicine. There are 3 main uses of radiation in medicine: Treatment Diagnosis Sterilization.
Introduction to Engineering and Technology Concepts Unit Five Chapter Two – Medical Technologies.
©2001 Southern Illinois University, Edwardsville All rights reserved. Today Fun with Icons Thursday Presentation Lottery Q & A on Final Exam Course Evaluations.
© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed. System design techniques Quality assurance. 1.
What you know… You work at the East Texas Cancer Center in Tyler, Texas as a physicist who “maintains and checks the machine regularly.” (Huff 2005) Patient.
Medical Accelerator F. Foppiano, M.G. Pia, M. Piergentili
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Computingcases.org Safeware
Computing is Socio-Technical or: Why Stakeholder Listing is Inadequate for Thoughtful Ethical Analysis Chuck Huff St. Olaf College For NSF Computer Ethics.
Therac-25 CS4001 Kristin Marsicano. Therac-25 Overview  What was the Therac-25?  How did it relate to previous models? In what ways was it similar/different?
Dr. Rob Hasker. Classic Quality Assurance  Ensure follow process Solid, reviewed requirements Reviewed design Reviewed, passing tests  Why doesn’t “we.
CSCI 3428: Software Engineering Tami Meredith Chapter 7 Writing the Programs.
©2001 Southern Illinois University, Edwardsville All rights reserved. Today Finish Ethics Next Week Research Topics in HCI CS 321 Human-Computer Interaction.
Dr. Rob Hasker. Classic Quality Assurance  Ensure follow process Solid, reviewed requirements Reviewed design Reviewed, passing tests  Why doesn’t “we.
Directed Reading 1 Girish Ramesh – Andres Martin-Lopez – Bamdad Dashtban –
Randy Modowski Adam Reimel Max Varner COSC 380 May 23, 2011 Accountability.
EN Lecture Notes Spring 2016 FUNDAMENTALS OF SECURE DESIGN (SOFTWARE)
CHAPTER 9: PROFESSIONAL ETHICS AND RESPONSIBILITIES BY: MATT JENNINGS SHANE CRAKER KYLER RHOADES.
Getting Ready for the NOCTI test April 30, Study checklist #1 Analyze Programming Problems and Flowchart Solutions Study Checklist.
Understanding Radiation Therapy Lecturer Radiological Science
Increasing use of automated systems
IAEA E-learning Program
EE 585 : FAULT TOLERANT COMPUTING SYSTEMS B.RAM MOHAN
COMP60611 Directed Reading 1: Therac-25
Software Quality Assurance Lecture 1
Therac-25 Accidents What was Therac-25? Who developed it?
Reliability and Safety
System design techniques
Week 13: Errors, Failures, and Risks
Software Engineering Disasters
Presentation transcript:

Dr Andy Brooks1 Lecture 4 Therac-25, computer controlled radiation therapy machine, that killed people. FOR0383 Software Quality Assurance

No official inquiry Five Therac-25 machines were installed in the U.S and six in Canada. Between June 1985 and January 1987, Therac-25 massively overdosed six people. No official inquiry was undertaken, but Nancy Leveson investigated what happened from “law suits and depositions, government records, and copies of correspondence and other material obtained from the U.S. Food and Drug Administration (FDA) which regulates such devices ” Dr Andy Brooks2

Dr Andy Brooks3 Medical linear accelerators High energy beams destroy tumors with minimal impact on surrounding healthy tissue. Relatively shallow tissue is treated with electrons. Deeper tissue is treated by converting the electron beam into X-ray photons. Dual-mode machines are more economic.

Dr Andy Brooks4 Therac-6 (6 MeV) & Therac-20 (20 Mev) Therac-6 produced X rays only. Therac-20 was dual-mode. Software functionality was limited. Both machines had industry standard hardware safety features. Some Therac-6 software was re-used in the Therac-20. Production of the machines was a joint venture between AECL (Atomic Energy of Canada Limited) and the French Company CGR.

Dr Andy Brooks5 Therac-25 (25 MeV) The Therac-25 was solely developed by AECL as a dual- mode device. AECL took advantage of computer control and decided not to duplicate all the existing hardware safety features. The first commercial version was available in late Some software was re-used from the previous machines. AECL´s quality assurance manager apparently was unaware of the re-use of software from Therac-20. Bugs in the Therac-20 software were recognised only afterwards when Therac-25 came under investigation: the hardware safety features in Therac-20 had prevented any injuries.

Software Testing A safety analysis of Therac-25 was undertaken by AECL in March 1983 which apparently excluded the software. At a Therac-25 user´s meeting, a quality assurance manager claimed that Therac-25 sofware had been tested for 2,700 hours. When questioned further, however, he clarified that he meant 2,700 hours of use. The same quailty assurance manager could only report that a “small amount” of software testing was done on a simulator. The FDA had difficulty getting an adequate test plan from AECL. There was no public evidence of any regression testing Dr Andy Brooks6

Dr Andy Brooks7 The basic hazard of dual-mode machines. Equipment is rotated into the beam path to produce the two therapeutic modes. For electron therapy, scanning magnets spread the beam. For X-ray therapy, a beam flattener is used to produce a uniform treatment field. The flattener is a very efficient attenuator, so a very high input dose rate (of electrons on a target) is required. If a beam flattener is not in position, a high output dose results. For X-ray therapy, the only energy level is 25MeV. In the Therac-25, there was also a mirror and light source to help correctly position the patient. The operator can see exactly where the beam will strike.

Dr Andy Brooks8 Upper turntable assembly Electron mode scan magnets. X-ray mode target and flattener. Mirror. Plunger. Microswitches monitor the position of the turntable.

Dr Andy Brooks9 Operator interface In response to operator complaints that it took too long to enter a treatment plan, AECL modified the software before the first Therac-25 was installed. Instead of re-entering treatment details, operators could just use a quick series of carriage returns to complete the data entry. Because of timing issues in the software and how it controlled the machine, under particular circumstances, if an operator went very fast through the series of carriage returns, the machine could deliver an overdose.

Dr Andy Brooks10 From Nancy Leveson, Software: System Safety and Computers, copyright Addison-Wesley x or e

Dr Andy Brooks11 After one incident, a memorandum from the FDA stated: “The operator´s manual supplied with the machine does not explain nor even address the malfunction codes. The Maintenance [sic] Manual lists the various malfunction numbers but gives no explanation. The materials provided give no indication that these malfunctions could place a patient at risk.” I wonder what MALFUNCTION 54 means? Not to worry, I have been told there are many safety mechanisms in place.

Dr Andy Brooks12 The memorandum from the FDA also stated: “The program does not advise the operator if a situation exists wherein the ion chambers used to monitor the patient are saturated, thus are beyond the measurement limits of the instrument. This software package does not appear to contain a safety system to prevent parameters being entered and intermixed that would result in excessive radiation being delivered to the patient under treatment.”

Dr Andy Brooks13 East Texas Cancer Center, March 1986 The intended treatment was a 22MeV electron beam of 180 rads. The operator entered the treatment details but noticed she had typed “x” rather than “e”. She used the up-arrow key to replace “x” with “e” and hit the return key several times as the other parameters were to remain unchanged. A MALFUNCTION 54 message was displayed but the dose monitor display indicated a substantial underdose. She hits the P key to proceed. –It was common to do this in response to quirks of the machine. A video display of the patient was unplugged and the audio monitor was broken. –There was no way of being alerted of any patient difficulty.

Dr Andy Brooks14 The patient... He felt a thump and heat and heard a buzzing sound. He moved to get up from the table but then felt as if his arm had been electrocuted and that his hand was leaving his body. He pounded on the treatment room door, visibly upset. Unknown at the time, he had received a dose of 16,500 to 25,000 rads in less than 1 second. Over the weeks that followed he lost function of his left arm and suffered nausea and vomiting. He then got paralysis in both legs and also could not speak. He developed a lesion in his left lung and recurrent skin infections. He died five months later. East Texas Cancer Center, March 1986

Response to the incident... AECL engineers spent a day testing the machine but could not reproduce a MALFUNCTION 54. An AECL engineer is reported as having given assurances that it was not possible for Therac-25 to overdose a patient. An ETCC physicist asked if AECL knew of other overdoses by Therac-25. AECL personnel denied any knowledge of previous incidents and suggested that an electrical problem had caused the fault. An engineering firm ruled out any electrical problem. The ETCC physicist found the calibration of the machine to be satisfactory and put the machine back in service on April 7, Dr Andy Brooks15 East Texas Cancer Center, March 1986

The same operator who was involved in the first incident prepared a patient for his treatment on April 11. The operator entered the treatment details, and as before, she noticed that she had to change “x” to “e”. She used the up-arrow key to replace “x” with “e” and hit the return key several times as the other parameters were to remain unchanged. The display showed MALFUNCTION 54. The distressed patient asked: “What happened to me, what happened to me?” The patient died from the overdose on May 1, Dr Andy Brooks16 East Texas Cancer Center, April 1986

Dr Andy Brooks17 Race conditions. Therac-25 did not employ a standard operating system. Instead, Therac-25 had a custom real- time treatment operating system written in PDP- 11 assembly language. The implementation of multitasking allowed race conditions to result. i.e. the sequence and timing of events were critical. This played a big part in the overdosing of patients.

Dr Andy Brooks18 The whole software development process was deficient: requirements, design, implementation, testing, maintenance.