Computer Reliability
Lecture # 10
Prepared by Sana Khattak
Lecture Overview
• Introduction
• Data entry or data retrieval errors
• Software and billing errors
• Notable software system failures
• Software engineering
• Software warranties and vendor liability
Sana Khattak (khattaksana@[Link])
Introduction
• Computer systems are sometimes unreliable
• Erroneous information in databases
• Misinterpretation of database information
• Malfunction of embedded systems
• Effects of computer errors
• Inconvenience
• Bad business decisions
• Fatalities
Sana Khattak (khattaksana@[Link])
Data-Entry or Data-Retrieval
Errors
Sana Khattak (khattaksana@[Link])
Two Kinds of Data-related Failure
• A computerized system may fail because wrong data entered into it
• A computerized system may fail because people incorrectly interpret data
they retrieve
Sana Khattak (khattaksana@[Link])
• November 2000 general election
• Florida disqualified thousands of voters
Disfranchised • Reason: People identified as felons
Voters • Cause: Incorrect records in voter database
• Consequence: May have affected election’s
outcome
Sana Khattak (khattaksana@[Link])
• Sheila Jackson Stossier mistaken for Shirley
Jackson
• Arrested and spent five days in detention
• Roberto Hernandez mistaken for another
False Roberto Hernandez
Arrests • 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
Sana Khattak (khattaksana@[Link])
Accuracy of NCIC Records
• March 2003: Justice Dept. announces FBI not responsible for accuracy of
NCIC information
• Exempts NCIC from some provisions of Privacy Act of 1974
• Should government take responsibility for data correctness?
Sana Khattak (khattaksana@[Link])
Dept. of Justice Position
• Impractical for FBI to be responsible for data’s accuracy
• Much information provided by other law enforcement and intelligence agencies
• Agents should be able to use discretion
• If provisions of Privacy Act strictly followed, much less information would be in
NCIC
• Result: fewer arrests
Sana Khattak (khattaksana@[Link])
Position of Privacy Advocates
Number of records is increasing
More erroneous records ® more false arrests
Accuracy of NCIC records more important than ever
Sana Khattak (khattaksana@[Link])
Act Utilitarian Analysis: Database of Stolen
Vehicles
• Over 1 million cars stolen every year
• Just over half are recovered, say 500,000
• Assume NCIC is responsible for at least 20%
• 100,000 cars recovered because of NCIC
• Benefit of $5,000 per car (owner gets car back; effects on national insurance rates;
criminal doesn’t profit)
• Total value of NCIC stolen vehicle database: $500,000/year
• Only a few stories of false arrests
• Assume 1 false arrest per year (probably high)
• Assume harm caused by false arrest $55,000
• Benefit surpasses harm by $445,000/year
• Conclusion: Good to have NCIC stolen vehicles database
Sana Khattak (khattaksana@[Link])
Software and Billing
Errors
Sana Khattak (khattaksana@[Link])
Errors When Data Are Correct
• Assume data correctly fed into computerized
system
• System may still fail if there is an error in its
programming
Sana Khattak (khattaksana@[Link])
Errors Leading to System Malfunctions
• Qwest sent incorrect bills to cell phone customers
• Faulty USDA beef price reports
• U.S. Postal Service returned mail addressed to Patent and
Trademark Office
• Spelling and grammar error checkers increased errors
• New York City Housing authority overcharged renters
• About 450 California prison inmates mistakenly released
Sana Khattak (khattaksana@[Link])
AP Photo/Al Behrman, File
Sana Khattak (khattaksana@[Link])
Analysis: E-Retailer Posts Wrong Price, Refuses
to Deliver
• [Link] in Britain offered iPaq for £7 instead of
£275
• Orders flooded in
• [Link] shut down site, refused to deliver unless
customers paid true price
• Was [Link] wrong to refuse to fill the orders?
Sana Khattak (khattaksana@[Link])
• Imagine rule: A company must always honor the
advertised price
• Consequences
• More time spent proofreading advertisements
Rule • Companies would take out insurance policies
• Higher costs ® higher prices
Utilitarian • All consumers would pay higher prices
Analysis • Few customers would benefit from errors
• Conclusion
• Rule has more harms than benefits
• [Link] did the right thing thing by
refusing to ship the iPAQs.
Sana Khattak (khattaksana@[Link])
Kantian Analysis
• Buyers knew 97.5% markdown was an error
• They attempted to take advantage of
[Link]’s stockholders
• They were not acting in “good faith”
• Buyers were in the wrong, not [Link]
Sana Khattak (khattaksana@[Link])
Notable Software System Failures
Sana Khattak (khattaksana@[Link])
Embedded Systems
• Computer used as a component of a larger system.
• Microwave ovens, automobiles, traffic lights.
• Software controllers are faster, sophisticated functions,
taking more input data into account, cost less, use less energy,
and do not wear out.
• Hardware controllers have a reputation for high reliability
• Embedded systems are real-time systems: computers that
process data from sensors as events occur.
• controls the air bags in a modern automobile is a real-time
system, because it must instantly react to readings from its
sensors.
Sana Khattak (khattaksana@[Link])
Patriot Missile
• Designed as anti-aircraft missile
• Used in 1991 Gulf War to intercept Scud missiles
• One battery failed to shoot at Scud that killed 28 soldiers
• Designed to operate only a few hours at a time
• Tiny truncation errors added up
• Clock error of 0.3433 seconds ® tracking error of 687
meters
Sana Khattak (khattaksana@[Link])
Ariane 5
• Satellite launch vehicle
• 40 seconds into maiden flight, rocket self-
destructed
• $500 million of uninsured satellites lost
• Statement assigning floating-point value to integer
raised exception
• Exception not caught and computer crashed
• Code reused from Ariane 4
• Slower rocket
• Smaller values being manipulated
• Exception was impossible
Sana Khattak (khattaksana@[Link])
AT&T Long-Distance Network
• Significant service disruption
• About half of telephone-routing switches
crashed
• 70 million calls not put through
• 60,000 people lost all service
• AT&T lost revenue and credibility
• Cause
• Single line of code in error-recovery
procedure
• Most switches running same software
• Crashes propagated through switching
network
Sana Khattak (khattaksana@[Link])
AT&T Long
Distance
Network
Failure
Sana Khattak (khattaksana@[Link])
Robot Missions to Mars
• Mars Climate Orbiter
• Disintegrated in Martian atmosphere
• Lockheed Martin design used English
units
• Jet Propulsion Lab design used metric
units
• Mars Polar Lander
• Crashed into Martian surface
• Engines shut off too soon
• False signal from landing gear
Sana Khattak (khattaksana@[Link])
Denver
International
Airport
Sana Khattak (khattaksana@[Link])
Direct Recording Electronic Voting
Machines
• After problems with 2000 election, Congress passed Help America
Vote Act of 2002
• HAVA provided money to states to replace punch card voting systems
• Many states used HAVA funds to purchase direct recording electronic
(DRE) voting machines
• Brazil and India have run national elections using DRE voting
machines exclusively
• In November 2006 1/3 of U.S. voters used DRE voting machines
Sana Khattak (khattaksana@[Link])
• Voting irregularities
• Failure to record votes
• Overcounting votes
Issues with DRE • Miss recording votes
• Lack of a paper audit trail
Voting • Vulnerability to tampering
Machines • Source code a trade secret, can’t be
examined
• Possibility of widespread fraud
through malicious programming
Sana Khattak (khattaksana@[Link])
Software Engineering
Sana Khattak (khattaksana@[Link])
• Determine system requirements
• Understand constraints
• Determine feasibility
Specification • End products
• High-level statement of requirements
• Mock-up of user interface
• Low-level requirements statement
Sana Khattak (khattaksana@[Link])
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
Sana Khattak (khattaksana@[Link])
Validation (Testing)
• Ensure software satisfies specification
• Ensure software meets user’s needs
• Challenges to testing software
• Noncontinuous responses to changes in
input
• Exhaustive testing impossible
• Testing reveals bugs, but cannot prove
none exist
• Test modules, then subsystems, then
system
Sana Khattak (khattaksana@[Link])
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 and on budget
• Situation in 2009
• 1/4 projects cancelled
• 5/12 projects had time and/or cost overruns
• 1/3 projects completed on time and on budget
Sana Khattak (khattaksana@[Link])
Success of IT Projects Over Time
Sana Khattak (khattaksana@[Link])
Software
Warranties and
Vendor Liability
Sana Khattak (khattaksana@[Link])
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
Sana Khattak (khattaksana@[Link])
Are Software Warranties
Enforceable?
• Mass-marketed software and software
included in sale of hardware likely to be
considered a good by a court of law
• Uniform Commercial Code (UCC) applies
to goods, despite what warranties may say
Sana Khattak (khattaksana@[Link])
Key Court Cases
• Step-Saver Data Systems v. Wyse Technology and
the Software Link
• Court ruled that provisions of UCC held
• ProCD v. Zeidenberg
• Court ruled shrinkwrap licenses are enforceable
• Mortenson v. Timberline Software
• Court ruled in favor of Timberline and
licensing agreement that limited consequential
damages
Sana Khattak (khattaksana@[Link])
Moral Responsibility of Software
Manufacturers
• If vendors were responsible for harmful consequences of defects
• Companies would test software more
• They would have to purchase liability insurance
• Software would cost more
• Start-ups would be affected more than big companies
• Less innovation in software industry?
• Software would be more reliable?
• Making vendors responsible for harmful consequences of defects
may be a bad idea, but…
• Consumers should not have to pay for bug fixes
Sana Khattak (khattaksana@[Link])
End of Lecture