1 / 24

Software Engineering: Why Should You Care Or Huge Embarrassments and Colossal Failures

Software Powers the Modern World. Software controls or plays a significant role in every major facet of modern societyGovernmentBusinessTechnologyEducationMedicine

Pat_Xavi
Download Presentation

Software Engineering: Why Should You Care Or Huge Embarrassments and Colossal Failures

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. Software Engineering: Why Should You Care? Or Huge Embarrassments and Colossal Failures Nenad Medvidovic Computer Science Department Viterbi School of Engineering University 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! ?

More Related