Social Implications of a Computerized Society Computer Errors Instructor: Oliver Schulte Simon Fraser University.

Slides:



Advertisements
Similar presentations
A Gift of Fire, 2edChapter 4: Can We Trust the Computer?1 PowerPoint ® Slides to Accompany A Gift of Fire : Social, Legal, and Ethical Issues for Computers.
Advertisements

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
Can We Trust the Computer?
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Slides prepared by Cyndi Chie and Sarah Frye. Fourth edition revisions by Sharon Gray. A Gift of Fire Fourth edition Sara Baase Chapter 8: Errors, Failures,
Reliability and Safety Lessons Learned. Ways to Prevent Problems Good computer systems Good computer systems Good training Good training Accountability.
Social Implications of a Computerized Society Lecture 8 Professional Ethics Instructor: Oliver Schulte Simon Fraser University.
MADALINA CROITORU Software Engineering week 1 Madalina Croitoru IUT Montpellier.
Motivation Why study Software Engineering ?. What is Engineering ? 2 Engineering (Webster) – The application of scientific and mathematical principles.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
A Gift of Fire Third edition Sara Baase
A Gift of Fire Third edition Sara Baase
Errors, Failures and Risks CS4020 Overview Failures and Errors in Computer Systems Case Study: The Therac-25 Increasing Reliability and Safety Dependence,
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Jacky: “Safety-Critical Computing …” ► Therac-25 illustrated that comp controlled equipment could be less safe. ► Why use computers at all, if satisfactory.
Planning. SDLC Planning Analysis Design Implementation.
Ethical and Social...J.M.Kizza 1 Module 8: Software Issues: Risks and Liabilities Definitions Causes of Software Failures Risks Consumer Protection Improving.
Slides prepared by Cyndi Chie and Sarah Frye A Gift of Fire Third edition Sara Baase Chapter 8: Errors, Failures, and Risks Version modified by Cheryl.
Therac-25 : Summary Malfunction Complacency Race condition (turntable / energy mismatch) Data overflow (turntable not positioned) time‘85‘86‘88 ‘87 Micro-switch.
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
PROJECT RESOURCES AND RISKS By Catherine Cowper. AVAILABLE RESOURCES When doing a project there are various resources that need to be made available for.
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.
Chapter 8: Errors, Failures, and Risk
1 Can We Trust the Computer? What Can Go Wrong? Case Study: The Therac-25 Increasing Reliability and Safety Perspectives on Failures, Dependence, Risk,
Liability for Computer Errors Not covered in textbook.
2.2 Software Myths 2.2 Software Myths Myth 1. The cost of computers is lower than that of analog or electromechanical devices. –Hardware is cheap compared.
Slides prepared by Cyndi Chie and Sarah Frye1 A Gift of Fire Third edition Sara Baase Chapter 8: Errors, Failures, and Risks.
What is Software?  Computer programs and associated documentation such as requirements, design models and user manuals  Software products may be developed.
Therac-25 Case Family vs. Programmer. People Suffered From Different Type of Bad Programming Database accuracy problems. Many people could not vote in.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
CS 4001Mary Jean Harrold 1 Can We Trust the Computer?
Basic of Software Testing Presented by The Smartpath Information System An ISO 9001:2008 Certified Organization
CptS 401 Adam Carter. Announcement  Executive decision: no class Thursday! (CH and exam review will take place tomorrow instead)  Be sure that.
Slide 1 CS 310 Software Engineering Professor C. Shilepsky Spring Chapter 1 u define software engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
1 Software Engineering Ian Sommerville th edition Instructor: Mrs. Eman ElAjrami University Of Palestine.
A Gift of Fire, 2edChapter 4: Can We Trust the Computer?1 Can We Trust the Computer?
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?
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Software Engineering. Acknowledgement Charles Moen Sharon White Bun Yue.
SWE 513: Software Engineering
Prototyping life cycle Important steps 1. Does prototyping suit the system 2. Abbreviated representation of requirements 3. Abbreviated design specification.
CptS 401 Adam Carter. Final Review  Similar structure to the midterm: Multiple choice Matching (probably quotes from Daemon) Essay  Most questions will.
CS 4001Mary Jean Harrold1 Class 20 ŸSoftware safety ŸRest of semester Ÿ11/1 (Thursday) Term paper approach due Ÿ11/13 (Tuesday) Assignment 8 on software.
Chapter 8 Errors, Failures, & Risks. Real Headlines Navigation system directs car into river Data entry typo mutes millions of U.S. pagers Flaws found.
Topic: Reliability and Integrity. Reliability refers to the operation of hardware, the design of software, the accuracy of data or the correspondence.
Randy Modowski Adam Reimel Max Varner COSC 380 May 23, 2011 Accountability.
Chapter 8: Errors, Failures, and Risk Zach Archer Daniel O’Hara Eric Strittmatter.
CHAPTER 9: PROFESSIONAL ETHICS AND RESPONSIBILITIES BY: MATT JENNINGS SHANE CRAKER KYLER RHOADES.
Stoimen Stoimenov QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
1 Advanced Computer Programming Project Management: Basics Copyright © Texas Education Agency, 2013.
Can We Trust the Computer? FIRE, Chapter 4. What Can Go Wrong? What are the risks and reasons for computer failures? How much risk must or should we accept?
Chapter 1- Introduction
Why study Software Design/Engineering ?
Chapter 18 Maintaining Information Systems
A Gift of Fire Third edition Sara Baase
PowerPoint® Slides to Accompany
Reliability and Safety
Reliability and Safety
Week 13: Errors, Failures, and Risks
Errors, Failures, & Risks
Reliability and Safety
Computer in Safety-Critical Systems
A Gift of Fire Third edition Sara Baase
Chapter 1: Software and Software Engineering
Presentation transcript:

Social Implications of a Computerized Society Computer Errors Instructor: Oliver Schulte Simon Fraser University

Failures and Errors in Computer Systems Most computer applications are so complex it is virtually impossible to produce programs with no errors The cause of failure is often more than one factor Computer professionals must study failures to learn how to avoid them Computer professionals must study failures to understand the impacts of poor work

Discussion Question Have you personally suffered from computer system errors? What should change to prevent these errors?

Computer Errors Data Entry Errors –Along with privacy, another concern about large databases. –Recommended principle: give people option to view and correct information. Crashes and Safety-Critical Applications Performance Failures: One estimate (Charette): from 5-15% of IT projects are abandoned soon before or after delivery as “hopelessly adequate” (out of about $1 Trill. world-wide).

Failures and Errors in Computer Systems (cont.) Individual Problems: Billing errors, no-fly lists Inaccurate and misinterpreted data in databases –Large population where people may share names –Automated processing may not be able to recognize special cases –Overconfidence in the accuracy of data –Errors in data entry –Lack of accountability for errors

Failures and Errors in Computer Systems (cont.) System Failures: AT&T, Amtrak, NASDAQ Businesses have gone bankrupt after spending huge amounts on computer systems that failed Voting system in 2000 presidential election Denver Airport Ariana 5 Rocket

Failures and Errors in Computer Systems (cont.) Denver Airport: Baggage system failed due to real world problems, problems in other systems and software errors Main causes: –Time allowed for development was insufficient –Denver made significant changes in specifications after the project began

Crashes Many crashes occur, some in safety-critical applications (hospitals, air planes). ACM maintains a RISK updateRISK update Main remedies: testing and redundancy. Both are expensive (half of A T&T computing is to check the other half). Often skipped or scaled back in a business setting. Have you ever used redundant coding? Community participation: –beta testing. –Is reliability another reason for open source? (e.g., voting machines.)

Failures and Errors in Computer Systems (cont.) Safety-Critical Applications: A-320: "fly-by-the-wire" airplanes (many systems are controlled by computers and not directly by the pilots) –Between four planes crashed Air traffic control is extremely complex, and includes computers on the ground at airports, devices in thousands of airplanes, radar, databases, communications, and so on - all of which must work in real time, tracking airplanes that move very fast In spite of problems, computers and other technologies have made air travel safer

Case Study: The Therac-25 Therac-25 Radiation Overdoses: Massive overdoses of radiation were given; the machine said no dose had been administered at all Caused severe and painful injuries and the death of three patients Important to study to avoid repeating errors Manufacturer, computer programmer, and hospitals/clinics all have some responsibility

Case Study: The Therac-25 (cont.) Software and Design problems: Re-used software from older systems, unaware of bugs in previous software Weaknesses in design of operator interface Inadequate test plan Bugs in software –Allowed beam to deploy when table not in proper position –Ignored changes and corrections operators made at console

Case Study: The Therac-25 (cont.) Why So Many Incidents? Hospitals had never seen such massive overdoses before, were unsure of the cause Manufacturer said the machine could not have caused the overdoses and no other incidents had been reported (which was untrue) The manufacturer made changes to the turntable and claimed they had improved safety after the second accident. The changes did not correct any of the causes identified later

Case Study: The Therac-25 (cont.) Why So Many Incidents? (cont.) Recommendations were made for further changes to enhance safety; the manufacturer did not implement them The FDA declared the machine defective after the fifth accident The sixth accident occurred while the FDA was negotiating with the manufacturer on what changes were needed

Discussion Questions Have we become too dependent on computers? Should we use them less?

Sources of Complexity Computer is doing a difficult job. “Non-linearity” (discontinuity): –In physical device, small error usually makes small difference in performance. –In computer program, small typo can make big difference.

High-level Causes of Computer- System Failures Lack of clear, well thought out goals and specifications Poor management and poor communication among customers, designers, programmers, etc. Pressures that encourage unrealistically low bids, low budget requests, and underestimates of time requirements Use of very new technology, with unknown reliability and problems Refusal to recognize or admit a project is in trouble

Common Mistakes Developers Rely on legacy code (old language, little documentation, can be millions of lines). Scale up system, fail to test in new environment. Fail to think of users 30 years later Users Overconfidence in computer recommendations, data, machinery.

Increasing Reliability and Safety Professional techniques: Importance of good software engineering and professional responsibility User interfaces and human factors –Feedback –Should behave as an experienced user expects –Workload that is too low can lead to mistakes Redundancy and self-checking Testing –Include real world testing with real users

Increasing Reliability and Safety (cont.) Law, Regulation and Markets: Criminal and civil penalties –Provide incentives to produce good systems, but shouldn't inhibit innovation Warranties for consumer software –Most are sold ‘as-is’ Regulation for safety-critical applications Professional licensing –Arguments for and against Taking responsibility

Discussion Question 1.Should there be mandatory professional licensing for IT professionals (as with engineers?) 2.Should there be more warranty for software (e.g., can sue manufacturer if software causes damage)? For certain kinds of software?

Theme for the Future? Are we reaching limits in computer use/scope? –Moore’s “law” on processor performance is no longer valid. –Complex systems (cell phones have several million lines of code), hard to test, expand, integrate. –Unsolved tasks are complex?!