1 / 19

A Gift of Fire Third edition Sara Baase

A Gift of Fire Third edition Sara Baase. Chapter 8: Errors, Failures, and Risks. What We Will Cover. Failures and Errors in Computer Systems Case Study: The Therac-25 Increasing Reliability and Safety Dependence, Risk, and Progress. Failures and Errors in Computer Systems.

joylyn
Download Presentation

A Gift of Fire Third edition Sara Baase

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Gift of FireThird editionSara Baase Chapter 8: Errors, Failures, and Risks Slides prepared by Cyndi Chie and Sarah Frye (and Liam Keliher)

  2. What We Will Cover • Failures and Errors in Computer Systems • Case Study: The Therac-25 • Increasing Reliability and Safety • Dependence, Risk, and Progress

  3. Failures and Errors in Computer Systems • Most computer applications are so complex that it is virtually impossible to produce programs with no errors • The cause of failure is often due to 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

  4. Failures and Errors in Computer Systems (cont.) 1) Problems for individual consumers: • Billing errors (e.g., tax bill for $40 billion) • ATM errors • Inaccurate and misinterpreted data in databases, e.g., watch lists at Canada-U.S. border • 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

  5. Failures and Errors in Computer Systems (cont.) 2) 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 • many problems with electronic voting • Denver Airport

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

  7. Failures and Errors in Computer Systems (cont.) 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 • Refusal to recognize a project is in trouble • Use of very new technology • unknown reliability and problems

  8. Failures and Errors in Computer Systems (cont.) 3) Safety-Critical Applications: • A-320: "fly-by-the-wire" airplanes (many systems are controlled by computers and not directly by the pilots) • between 1988-1992 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

  9. 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 (Atomic Energy of Canada Limited – AECL), computer programmer, and hospitals/clinics all have some responsibility

  10. Case Study: The Therac-25 (cont.) Software and Design problems: • Re-used software from older systems (Therac-6 and Therac-20), unaware of bugs in previous software • Weaknesses in design of operator interface • error messages were obscure (due to limitations in memory, etc.) • Bugs in software • allowed beam to deploy when table not in proper position (“rollover” of 1-byte value) • ignored changes and corrections operators made at console

  11. Case Study: The Therac-25 (cont.) Why So Many Incidents? • Hospitals had never seen such massive overdoses before, were unsure of the cause • Machine consistently had small glitches which operators learned to ignore • 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

  12. 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

  13. Case Study: The Therac-25 (cont.) Observations and Perspective: • Minor design and implementation errors usually occur in complex systems; they are to be expected • The problems in the Therac-25 case were not minor and suggest irresponsibility • Human error will always be a problem • accidents occurred on other radiation treatment equipment without computer controls when the technicians: • Left a patient after treatment started to attend a party • Did not properly measure the radioactive drugs • Confused micro-curies and milli-curies

  14. Increasing Reliability and Safety What goes Wrong? • Design and development problems • Management and use problems • Misrepresentation, hiding problems and inadequate response to reported problems • Insufficient market or legal incentives to do a better job • Re-use of software without sufficiently understanding the code and testing it • Failure to update or maintain a database

  15. Increasing Reliability and Safety (cont.) Professional techniques: • Importance of good software engineering and professional responsibility • there are well-developed techniques for software development, especially on a large scale • Five standard stages of software development: • 1. requirements/specification • 2. design • 3. implementation • 4. testing (verification) • 5. maintenance

  16. Increasing Reliability and Safety (cont.) Professional techniques: • User interfaces and human factors • design should be intuitive and avoid creating problems • e.g., placing “Delete All” next to “Save” • feedback should be: • clear (e.g., warnings in yellow, errors in red) • appropriate in quantity (not too little/too much) • workload that is too low can lead to boredom and mistakes

  17. 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

  18. Dependence, Risk, and Progress • Are We Too Dependent on Computers? • computers are tools • they are not the only dependence we have • electricity, plumbing, wheels • Risk and Progress • many new technologies were not very safe when they were first developed • we develop and improve new technologies in response to accidents and disasters • we should compare the risks of using computers with the risks of other methods and the benefits to be gained

  19. Dependence, Risk, and Progress Discussion Questions • Do you believe we are too dependent on computers? Why or why not? • In what ways are we safer due to new technologies? • In what ways are we in more danger due to to new technologies?

More Related