Therac-25: A Lesson Learned

Slides:



Advertisements
Similar presentations
Test process essentials Riitta Viitamäki,
Advertisements

Lecture 8: Testing, Verification and Validation
SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
The Therac-25: A Software Fatal Failure
© Dr. Ernest CachiaSlide 1 Consider the nature of a computer as a tool –Non conventional in that it’s universal –Reasons for it being so (separation.
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.
Therac-25 Lawsuit for Victims Against the AECL
Complete CompTIA A+ Guide to PCs, 6e Chapter 5: Logical Troubleshooting © 2014 Pearson IT Certification
© ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua.
15 November Essay 1  Methodologies Points on the spectrum All can adapt to changes Required vs. permitted  Releases vs. iterations  Spool’s.
Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute.
Jacky: “Safety-Critical Computing …” ► Therac-25 illustrated that comp controlled equipment could be less safe. ► Why use computers at all, if satisfactory.
Pertemuan Matakuliah: A0214/Audit Sistem Informasi Tahun: 2007.
March 16, Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
Maintenance When the system is complete and deployed the system is operational. The work done on the operational system is called maintenance.
Lecture 7, part 2: Software Reliability
Dr Andy Brooks1 Lecture 4 Therac-25, computer controlled radiation therapy machine, that killed people. FOR0383 Software Quality Assurance.
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.
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.
Software Project Management
Module CC3002 Post Implementation Issues Lecture for Week 6 AY 2013 Spring.
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
Therac 25 Nancy Leveson: Medical Devices: The Therac-25 (updated version of IEEE Computer article)
Course: Software Engineering © Alessandra RussoUnit 1 - Introduction, slide Number 1 Unit 1: Introduction Course: C525 Software Engineering Lecturer: Alessandra.
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
WHAT ARE MY EXPECTATIONS TOWARDS AN INTERNSHIP?. Index of contents  my workplace  my working time  behaviour towards superiors  behaviour towards.
Security and Reliability THERAC CASE STUDY TEXTBOOK: BRINKMAN’S ETHICS IN A COMPUTING CULTURE READING: CHAPTER 5, PAGES
Systems Development Lifecycle Testing and Documentation.
LECTURE 38: REFACTORING CSC 395 – Software Engineering.
Dimitrios Christias Robert Lyon Andreas Petrou Dimitrios Christias Robert Lyon Andreas Petrou.
Software testing Main issues: There are a great many testing techniques Often, only the final code is tested.
Introduction to Software Development. Systems Life Cycle Analysis  Collect and examine data  Analyze current system and data flow Design  Plan your.
CSC 395 – Software Engineering Lecture 2: Programming As Art & Intro to Software Engineering.
Attributes of an Experiment. What makes an experiment scientific? 1.Variable Components of an experiment that can be changed 2.Independent Variable (IV)
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?
CSC 480 Software Engineering Test Planning. Test Cases and Test Plans A test case is an explicit set of instructions designed to detect a particular class.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Lecture Videos will no longer be posted. Assignment 3 is due Sunday, the 8 th, 7pm. Today: –System Design,
System Maintenance Modifications or corrections made to an information system after it has been released to its customers Changing an information system.
Economic Justification. Good Enough Quality Time to market Time to market Time to profit Time to profit.
TESTING FUNDAMENTALS BY K.KARTHIKEYAN.
29 March Software Quality and Testing. Why do we care? Therac-25 (1985) Multiple space fiascos (1990s) Ariane V exploded after 40 seconds (conversion)
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
FORMAL METHOD. Formal Method Formal methods are system design techniques that use rigorously specified mathematical models to build software and hardware.
WATERFALL METHOD Robbie Campbell WHAT IS IT  Considered the classic approach to the SDLC.  It is a linear method with goals for each development phase.
SOFTWARE TESTING Sampath Kumar Vuyyuru. INTRODUCTION Software Testing is a way of executing the software in a controlled manner to check whether the software.
Directed Reading 1 Girish Ramesh – Andres Martin-Lopez – Bamdad Dashtban –
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
Saroj Saengphongumphai, May Thank you to every teachers, books, websites, posts, articles, etc.
Fault Operations Software Team System-Level Software Health
System Development Life Cycle (SDLC)
EE 585 : FAULT TOLERANT COMPUTING SYSTEMS B.RAM MOHAN
Maintaining software solutions
Some Simple Definitions for Testing
COMP60611 Directed Reading 1: Therac-25
Regression testing is a type of software testing that seeks to uncover new software bugs, or regressions, in existing functional and non-functional areas.
System Development Life Cycle (SDLC)
انگیزش - موانع و محرک‌های یادگیری
Therac-25 Accidents What was Therac-25? Who developed it?
Fail Fail Poor Communication Lack of Documentation Poor Execution.
Reliability and Safety
Complete CompTIA A+ Guide to PCs, 6e
System Development Life Cycle (SDLC)
Testing, debugging, and using support libraries
Software Development Chapter 1.
Internal components of a computer.
Chapter 10: Testing and Quality Assurance
HP PRINTER CUSTOMER SUPPORT The printer has grown into an important peripheral device that helps users to convert a digital document into print versions.
Software Testing Strategies
Presentation transcript:

Therac-25: A Lesson Learned A medical device for combating cancerous tumours Developed by AECL and CRG A “superior” model in comparison to its predecessors Medically superior Economically superior Much more software-reliant than previous models Shifting responsibilities from hardware to software Inherited software components from previous models Therac-6 and Therac-20 George Howarth, Yi Xuehui http://sunnyday.mit.edu/papers/therac.pdf

Therac-25: A Lesson Learned Software contained major bugs The “cursor-up” issue The “Class3” variable bug Software was never truly “fixed” Developers kept patching bugs Poor design No formal documentation or test plans were created Could not prove that the software met the requirements Some tests were not even executed correctly! Also a lack of regression testing George Howarth, Yi Xuehui http://sunnyday.mit.edu/papers/therac.pdf

Therac-25: A Lesson Learned Naïve attitudes towards software Operators accepted malfunctions as normal behaviour Developers denied software was at fault Technicians never investigated malfunctions Software faults never seriously considered ...until it was too late Attitudes towards software changed FDA conceded that software could not be fully relied upon FDA told AECL to rigorously test software modifications George Howarth, Yi Xuehui http://sunnyday.mit.edu/papers/therac.pdf