Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7: Computer Reliability Ethics for the Information Age Forth Edition by Michael J. Quinn
1-2 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-2 Chapter Overview Introduction Data-entry or data-retrieval errors Software and billing errors Notable software system failures Therac-25 Computer simulations Software engineering Software warranties
1-3 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-3 Introduction Computer systems are sometimes unreliable –Erroneous information in databases –Misinterpretation of database information (similar names) –Malfunction of embedded systems (fatal errors) Effects of computer errors –Inconvenience –Bad business decisions –Fatalities
1-4 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-4 Data-Entry or Data-Retrieval Errors A computerized system may fail because wrong data entered into it A computerized system may fail because people incorrectly interpret data they retrieve
1-5 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-5 Disfranchised Voters November 2000 general election Florida disqualified thousands of voters Reason: People identified as felons Cause: Incorrect records in voter database Consequence: May have affected election’s outcome
1-6 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-6 False Arrests Sheila Jackson Stossier mistaken for Shirley Jackson –Arrested and spent five days in detention Roberto Hernandez mistaken for another Roberto Hernandez –Arrested twice and spent 12 days in jail Terry Dean Rogan arrested after someone stole his identity –Arrested five times, three times at gun point
1-7 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-7 Position of Privacy Advocates Number of records is increasing More erroneous records more false arrests Accuracy of crime records more important than ever
1-8 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-8 Software and Billing Errors Assume data correctly fed into computerized system System may still fail if there is an error in its programming
1-9 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-9 Errors Leading to System Malfunctions Qwest sends incorrect bills to cell phone customers ($600/minute) –A bill of more than $57,000 for a customer Spelling and grammar error checkers increased errors (University documents) BMW on-board computer failure (Thailand finance minister was trapped in his BMW)
1-10 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-10 Errors Leading to System Failures Temporarily out-of-control Boeing 777 (Malaysian plane over the Indian ocean- autopilot error) Japan’s air traffic control system London International Financial Futures and Options Exchange
1-11 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-11 Analysis: E-Retailer Posts Wrong Price, Refuses to Deliver Amazon.com in Britain offered iPaq (handheld computers) for £7 instead of £275 Orders flooded in Amazon.com shut down site, refused to deliver unless customers paid true price Was Amazon.com wrong to refuse to fill the orders?
1-12 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-12 Notable Software System Failures Patriot Missile (28 soldiers killed) – insufficient precision in an floating-point variable (system clock) Ariane 5 ($500 million not insured) – Integer overflow error AT&T long-distance network (70 million calls couldn’t be made and 60,000 people lost service) Direct recording electronic voting machines Therac-25 (3 patients killed out of 6 patients) SW error resulted in overdoses.
1-13 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-13 Direct Recording Electronic Voting Machines After problems with 2000 election, Congress passed Help America Vote Act of 2002 Provided money to states to replace punch card voting systems Many states used funds to purchase direct recording electronic (DRE) voting machines Brazil and India have run national elections using DRE voting machines exclusively In November /3 of U.S. voters used DRE voting machines
1-14 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-14 Issues with DRE Voting Machines Voting irregularities –Failure to record votes –Overcounting votes –Misrecording votes Lack of a paper audit trail Vulnerability to tampering Source code a trade secret, can’t be examined Possibility of widespread fraud through malicious programming
1-15 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-15 Moral Responsibility of the Therac-25 Team Conditions for moral responsibility –Causal condition: actions (or inactions) caused the harm –Mental condition Actions (or inactions) intended or willed -OR- Moral agent is careless, reckless, or negligent Therac-25 team morally responsible –They constructed the device that caused the harm –They were negligent
1-16 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-16 Uses of Computer Simulations Simulations replace physical experiments. Why? –Experiment too expensive or time-consuming –Experiment unethical –Experiment impossible (evolution of the universe) Examples of uses of simulations: –Model past events (Evolution of the universe) –Understand world around us (Search for Oil) –Predict the future (weather predictions)
1-17 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-17 Validating Simulations Erroneous Simulation because of : –Bugs in SW –Model uses SW is flawed Solutions: –Verification: Does program correctly implement model? –Validation: Does the model accurately represent the real system? Validation methods –Make prediction, wait to see if it comes true (Car crash) –Predict the present from old data (Weather forecast) –Test credibility with experts and decision makers
1-18 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-18 Software Engineering SE is a four steps process: –Specs: determine the functions to be performed –Development: produce SW that meet specs. –Validation: testing the SW –Evolution: Modify SW to meet change requirements
1-19 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-19 Software Engineering: Specification Followed SW Crises in 1960s Specifications of SE: –Determine system requirements –Understand constraints –Determine feasibility (Budget and schedule) End products –High-level statement of requirements (Summary) –Mock-up of user interface –Low-level requirements statement (Detailed)
1-20 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-20 Software Engineering: Development Create high-level design Discover and resolve mistakes, omissions in specification CASE tools to support design process Object-oriented systems have advantages After detailed design, actual programs written Result: working software system
1-21 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-21 Software Engineering: Validation (Testing) Ensure software satisfies specification Ensure software meets user’s needs Challenges to testing software –Noncontinuous responses to changes in input. No identical data set of inputs –Exhaustive testing impossible. Infinite number of different inputs –Testing reveals bugs, but cannot prove none exist Test modules, then subsystems, then system
1-22 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-22 Software Quality Is Improving Standish Group tracks IT projects Situation in 1994 –1/3 projects cancelled before completion –1/2 projects had time and/or cost overruns –1/6 projects completed on time / on budget Situation in 2006 –1/6 projects cancelled –1/2 projects had time and/or cost overruns –1/3 projects completed on time / on budget
1-23 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-23 Shrinkwrap Warranties Some say you accept software “as is” Some offer 90-day replacement or money- back guarantee None accept liability for harm caused by use of software
1-24 Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-24 Moral Responsibility of Software Manufacturers If vendors were responsible for harmful consequences of defects –Companies would test software more –They would purchase liability insurance –Software would cost more –Start-ups would be affected more than big companies and thus –Less innovation in software industry –Software would be more reliable Making vendors responsible for harmful consequences of defects may be wrong Consumers should not have to pay for bug fixes