240 likes | 689 Views
Software Powers the Modern World. Software controls or plays a significant role in every major facet of modern societyGovernmentBusinessTechnologyEducationMedicine
E N D
1. Software Engineering:Why Should You Care?OrHuge Embarrassments and Colossal Failures Nenad Medvidovic
Computer Science DepartmentViterbi School of EngineeringUniversity of Southern California
2. Software Powers the Modern World Software controls or plays a significant role in every major facet of modern society
Government
Business
Technology
Education
Medicine
… you name it
Software errors cost the U.S. economy $60,000,000,000 annually
Most are annoying
Some are spectacular
in their effects
in the stupidity of their underlying causes
3. What Causes Software Bugs? Four essential problems
Complexity
Conformity
Changeability
Invisibility
And a bunch of accidental ones
Human error
Poor interfaces
Inadequate abstractions
Lack of solid mathematical/engineering foundation
4. Why Can’t We Just “Spray” the Bugs?
5. OK, Fine, So Software Fails –What’s the Big Deal? And where did this $60B figure come from anyway?
I’ve never heard of this!
This must be a new thing…
Let’s look at some (in)famous failures over time
You be the judge
6. Mariner Bugs Out (1962) Cost
$18,500,000
Disaster
Mariner 1 rocket with a space probe headed for Venus diverted from its intended flight
Mission Control destroyed the rocket 293 seconds after liftoff
Cause
A programmer incorrectly transcribed a formula into software
The software interpreted normal variations of velocity as anomalies
It issued faulty correction commands that sent the rocket off course
7. Hartford Coliseum Collapse (1978) Cost
$90,000,000
Disaster
Steel-latticed roof collapsed under the weight of wet snow
Cause
CAD software was used to design the coliseum
A programmer incorrectly assumed the steel roof supports would only face pure compression
One of the supports unexpectedly buckled from the snow
This set off a chain reaction
8. CIA Gives the Soviets Gas (1982) Cost
Millions of dollars
Significant damage to Soviet economy
Disaster
Control software produced intense pressure in the Trans-Siberian gas pipeline
Resulted in the largest man-made non-nuclear explosion in Earth’s history
Cause
CIA operatives allegedly planted a bug in a Canadian computer system purchased by the Soviets
The CIA sabotaged the software so that it would pass Soviet inspection but fail in operation
9. World War III… Almost (1983) Cost
Almost all of humanity
Disaster
Soviet early warning system indicated the U.S. had launched 5 ICBMs
The human operator thankfully interpreted this as an error
Cause
A bug in the software failed to filter out false missile detections caused by sunlight reflecting off cloud-tops
10. Medical Machine Kills (1985) Cost
3 people dead
3 people critically injured
Disaster
Therac-25 radiation therapy machine delivered lethal radiation doses to patients
Cause
A subtle bug called a race condition
11. Wall Street Crash (1987) Cost
$500,000,000,000 in one day
Disaster
“Black Monday”, October 19, 1987
Dow Jones lost 22.6% of its value
S&P 500 dropped 20.4%
Cause
Investors fled stocks due to SEC investigations of insider trading (and other market forces)
Trading programs generated a flood of sell orders, overwhelming the market
Systems crashed and left investors effectively blind
12. AT&T Lines Go Dead (1990) Cost
75,000,000 phone calls missed
200,000 airline reservations lost
Disaster
A single switch at one of AT&T’s 114 switching centers suffered a minor mechanical problem and shut down the center
When the center came back up, it sent a message to other switching centers, which in turn caused them to shut down
This brought down the entire AT&T network for 9 hours
Cause
A single line of buggy code in a complex software upgrade implemented to speed up calling caused a ripple effect that shut down the network
13. Patriot Fails (1991) Cost
28 soldiers dead
100 soldiers injured
Disaster
During the first Gulf War, a Patriot Missile system in Saudi Arabia failed to intercept an incoming Iraqi Scud missile
The missile destroyed a U.S. Army barracks
Cause
A software rounding error incorrectly calculated the time
This caused the Patriot system to react too late to the incoming Scud missile
14. Pentium Fails Long Division (1993) Cost
$475,000,000
Corporate credibility
Disaster
Intel’s highly-promoted Pentium chip occasionally made mistakes when dividing floating-point numbers within a specific range
At first Intel refused to replace the chips, but then relented
Cause
Software broke the hardware!
The divider in the Pentium floating point unit had a flawed division table
It was missing about 5 out of 1,000 entries
15. Ariane Goes “Boom” (1996) Cost
$500,000,000
Disaster
ESA’sAriane 5 unmanned rocket was intentionally destroyed seconds after launch on its maiden flight
Also destroyed was its cargo of four scientific satellites
Cause
When the guidance system tried to convert the sideways rocket velocity from 64-bits to 16-bits format, an overflow error resulted
When the system shut down, control passed to an identical redundant unit…
16. Skynet Brings Judgment Day (1997) Cost
6,000,000,000 dead
Near-total destruction of human civilization and animal ecosystems
Disaster
Human operators attempt to shut off the Skynet global computer network
Skynetresponds by firing U.S. nuclear missiles at Russia, initiating global nuclear war
Cause
Cyberdyne installed Skynet technology in all military hardware
Skynet formed a seamless network and effectively removed humans from strategic defense
Eventually Skynet became sentient and was threatened when humans tried to take it offline
Hmm, I guess in this case the software worked better than it was supposed to – never mind this one!
17. Mars Polar Lander… err, Crasher (1998) Cost
$125,000,000
Disaster
After a 286-day journey from Earth, the Mars Climate Orbiter fell too far into Mars’s atmosphere, causing it to crash
Cause
The software that controlled the Orbiter thrusters used imperial units (pounds of force), rather than metric units (Newtons) as specified by NASA
18. Disastrous Study (1999) Cost
Scientific credibility
Disaster
The New England Journal of Medicine reported increased suicide rates after severe natural disasters
These “results” were bogus
Cause
A programming error caused the number of suicides for one year to be doubled
This threw off the entire study
19. British Passports to Nowhere (1999) Cost
Ł12,600,000
Mass inconvenience
Disaster
The U.K. Passport Agency adopted a new Siemens computer system, which failed to issue passports on time for 500,000 British citizens
The Agency had to pay millions in compensation, staff overtime and umbrellas for people queuing in the rain
Cause
The Passport Agency rolled out its new computer system without adequately testing it or training its staff
The demand quickly overwhelmed the buggy system
20. Y2K (1999-2000) Cost
$500,000,000,000
Disaster
Businesses spent billions on programmers to fix a glitch in old software
But, one man’s disaster is another man’s fortune
Cause
To save computer storage space, old software systems often stored the years as two digit numbers
The software interpreted “00” to mean 1900 rather than 2000
All sorts of bugs were thought likely
21. Love Virus (2000) Cost
$8,750,000,000
Disaster
The LoveLetter worm infected millions of computers and caused more damage than any other computer virus in history.
The worm deleted files, changed home pages and messed with the Registry
Cause
LoveLetter infected users via e-mail, Internet chat and shared file systems
The email had an executable file attachment and subject line, “ILOVEYOU”
When the user opened the attachment, the virus would infect the user’s computer and send itself to everyone in the address book
22. Cancer Treatment to Die For (2000) Cost
8 people dead
20 critically injured
Disaster
Radiation therapy software by Multidata Systems Int’l miscalculated the proper dosage, exposing patients to harmful levels of radiation
The physicians were legally required to double-check the software’s calculations and were indicted for murder
Cause
The software calculated radiation dosage based on the order in which data was entered
It sometimes delivered a double dose of radiation
23. Child Support Woes (2004) Cost
Ł539,000,000 and counting
Disaster
Business services giant EDS developed a software system for U.K.’s Child Support Agency (CSA)
The system accidentally overpaid 1,900,000 people, underpaid another 700,000, had Ł3,500,000,000 in uncollected child support payments, a backlog of 239,000 cases, and 36,000 new cases “stuck” in the system
Cause
The system had a large number of bugs
It still has 500 documented bugs
It is a large, complex software system, improperly designed, implemented, and tested
24. FBI’s Trilogy Terminated (2005) Cost
$105,000,000 and counting
Disaster
FBI scrapped its computer systems overhaul after four years of effort
The Virtual Case File project was a massive, integrated software system for agents to share case files and other information
Cause
A long-term project was built on technology that was outdated before the project completed
Resulted in a complex and unusable system
25. And Many, Many More Do you believe me now?
Do you care?
Haven’t had enough?
Go to http://ph0ebe.blogspot.com/2007/04/historys-worst-software-bugs.html
So, what should we do?
Study software engineering of course! ?