ECE 103 Engineering Programming Chapter 2 SW Disasters

Slides:



Advertisements
Similar presentations
Science, Technology and Society
Advertisements

Electronic Measure and Test Unit 53 Task 4 (P4).  A plan that clearly details the tests that will be performed  What to test  How to test (step by.
1. Software in our lives, then and now  Medical (processing and analysis, Computer Aided Surgery, other various equipment)  Financial and business (banking,
Syllabus Case Histories WW III Almost Medical Killing Machine
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 5 Duplication.
1 Miscellaneous Vocabulary Object-Oriented Stuff Algorithms Software Design Testing and Types of Errors.
CSC 4250 Computer Architectures September 12, 2006 Appendix H. Computer Arithmetic.
Software Engineering Disasters
CML CSE 520: Advanced Computer Architecture: Reliability Aviral Shrivastava.
Chapter 8 Representing Information Digitally.
Motivation Why study Software Engineering ?. What is Engineering ? 2 Engineering (Webster) – The application of scientific and mathematical principles.
©Ian Sommerville 2000CS 365 Ariane 5 launcher failureSlide 1 The Ariane 5 Launcher Failure June 4th 1996 Total failure of the Ariane 5 launcher on its.
1 CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
Highlight of Lockheed’s Shuttle Software Group. Mission Critical Software Controls every aspect of the space shuttles flight. Controls every aspect of.
Promoting Ethics to Computer Science Students: a “HOW TO” Guide Zenia C. Bahorski Ph.D. MACUL Conference Detroit, MI March 17, 2011 CC BY-NC-SA.
Modern Software Development Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
ARIANE 5 FAILURE ► BACKGROUND:- ► European space agency’s re-useable launch vehicle. ► Ariane-4 was a major success ► Ariane -5 was developed for the larger.
1 CMSC 132: Object-Oriented Programming II Software Development I Department of Computer Science University of Maryland, College Park.
Lecture 4b: Risks and Liabilities of Computer-based Systems
Class 4 Space Exploration. Do rockets really ever blow up like that? Do rockets really ever blow up like that? Any examples? Any examples?
©Ian Sommerville 2004Software Engineering Case Studies Slide 1 The Ariane 5 Launcher Failure June 4th 1996 Total failure of the Ariane 5 launcher on its.
C ASE S TUDY 1 Software Engineering. S TATISTIC Conducted by Standish Group – IT executives of US companies in different industries 8,380 projects.
Software Errors Who is to blame?. Almost everything in our daily lives is controlled by CPU’s and software… Does Embedded Software = Embedded Disasters?
CS527: (Advanced) Topics in Software Engineering Overview of Software Quality Assurance Tao Xie ©D. Marinov, T. Xie.
1/ REU Program at ECU Software Testing - Foundations, Tools, and Applications Lecture 1 May 27, 2014 Introduction to Software Testing Dr. Sergiy.
 The word "rocket" can mean different things. Most people think of a tall, thin, round vehicle. They think of a rocket that launches into space. "Rocket"
USS Yorktown (1998) A crew member of the guided-missile cruiser USS Yorktown mistakenly entered a zero for a data value, which resulted in a division by.
The Ariane 5 Launcher Failure
Introduction to CSCI-230: Software Development. Introduction Purchasing/developing software has become the largest single expenditure for companies Why.
CRASH AND BURN ARIANE 5 Kristen Hieronymus SYSM6309 Advanced Requirements Engineering
CRASH AND BURN ARIANE 5 Kristen Hieronymus SYSM6309 Advanced Requirements Engineering
1/ REU Program at ECU Software Testing - Foundations, Tools, and Applications Lecture 1 May 21, 2013 Introduction to Software Testing Dr. Sergiy.
ITGS Software Reliability. ITGS All IT systems are a combination of: –Hardware –Software –People –Data Problems with any of these parts, or a combination.
Introduction to Software Quality Assurance
The Ariane 5 Launcher Failure June 4th 1996 Total failure of the Ariane 5 launcher on its maiden flight.
Software Engineering Background Dr. David A. Gaitros.
Modern Software Development Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
CS 4001Mary Jean Harrold 1 Can We Trust the Computer?
“I am not in the office at the moment. Send any work to be translated.”
Learning Goals  I will be able to identify the names of the space shuttles in NASA’s program.  I will be able to identify two shuttle disasters.
1 Software Quality Assurance COMP 4004 Notes Adapted from S. Som é, A. Williams.
CS, AUHenrik Bærbak Christensen1 Critical Systems Sommerville 7th Ed Chapter 3.
29 March Software Quality and Testing. Why do we care? Therac-25 (1985) Multiple space fiascos (1990s) Ariane V exploded after 40 seconds (conversion)
Mars Climate Orbiter. FOR IMMEDIATE RELEASE September 23, 1999 NASA'S MARS CLIMATE ORBITER BELIEVED TO BE LOST NASA's Mars Climate Orbiter is believed.
Chapter 8 Errors, Failures, & Risks. Real Headlines Navigation system directs car into river Data entry typo mutes millions of U.S. pagers Flaws found.
Topic: Reliability and Integrity. Reliability refers to the operation of hardware, the design of software, the accuracy of data or the correspondence.
Lecture#1 Introduction
Topic 10Summer Ariane 5 Some slides based on talk from Sommerville.
1 Chapter 1- Introduction How Bugs affect our lives What is a Bug? What software testers do?
Interlock Systems for Machine Protection Manuel Zaera-Sanz Interlocks Engineer – ICS / Protection Systems AD and ICS Retreat mtg December 2014.
1. Introduction to Software Engineering. Software Engineering Outline Lecture 1 What is software Software is Everywhere Software Crisis and Software Failures.
SOFTWARE FAILURES.
Goal: To understand the history of space travel Objectives: 1)The idea 2)The first space probes 3)The first manned missions 4)The Apollo missions 5)The.
CS 389 – Software Engineering Lecture 1 Introduction Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
School of Business Administration
Why study Software Design/Engineering ?
Goal to understand how Solar Sails work.
CS1010 Programming Methodology
5.4 – 5.7.
Data Integrity Leadership Institute
Several definitions: “Testing is the process of establishing confidence that a program or system does what it is supposed to.” by Hetzel 1973 “Testing.
NASA Nasa's Parker Solar Probe mission set off to explore the Sun's atmosphere in the summer of The probe will swoop to within 4 million miles of.
Space Travel Present & Future
The Top 10 bugs
Software Engineering Lecture 1 Introduction Adapted from:
Errors, Failures, & Risks
ECE 103 Engineering Programming Chapter 56 Runtime Errors
Scale of things : Big and Small
Types of Spacecraft The FRAME Routine Key Topic is about…
Software Engineering Disasters
Presentation transcript:

ECE 103 Engineering Programming Chapter 2 SW Disasters Herbert G. Mayer, PSU Status 6/10/2016 Initial content copied verbatim from ECE 103 material developed by Professor Phillip Wong @ PSU ECE

Syllabus Case Histories WW III Medical Killing Machine AT&T Line Goes Dead Ariana Rocket Goes Boom Mars Climate Crasher Y2K Lessons to Learn

Think of all the programs running on all the computer systems in the world right now. How many of those programs do you rely on to perform correctly every day? If the software fails, how would it affect you or the people you care about? 2

Case Histories From: http://www.devtopics.com/20-famous-software-disasters Mariner Bugs Out (1962) Cost: $18.5 million Disaster: The Mariner 1 rocket with a space probe headed for Venus diverted from its intended flight path shortly after launch.  Mission Control destroyed the rocket 293 seconds after liftoff. Cause: A programmer incorrectly transcribed a handwritten formula into computer code, missing a single superscript bar.  Without the smoothing function indicated by the bar, the software treated normal variations of velocity as if they were serious, causing faulty corrections that sent the rocket off course.

World War III… Almost (1983) Cost: Nearly all of humanity Disaster: The Soviet early warning system falsely indicated the United States had launched five ballistic missiles. Fortunately the Soviet duty officer had a “funny feeling in my gut” and reasoned if the U.S. was really attacking they would launch more than five missiles, so he reported the apparent attack as a false alarm. Cause: A bug in the Soviet software failed to filter out false missile detections caused by sunlight reflecting off cloud-tops. 4

Medical Machine Kills (1985) Cost: Three people dead, three people critically injured Disaster: Canada’s Therac-25 radiation therapy machine malfunctioned and delivered lethal radiation doses to patients. Cause: Because of a subtle bug called a race condition, a technician could accidentally configure Therac-25 so the electron beam would fire in high-power mode without the proper patient shielding. 5

AT&T Lines Go Dead (1990) Cost: 75 million phone calls missed, 200 thousand 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 and 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. 6

Ariane Rocket Goes Boom (1996) Cost: $500 million Disaster: Ariane 5, Europe’s newest unmanned rocket, was intentionally destroyed seconds after launch on its maiden flight. Also destroyed was its cargo of four scientific satellites to study how the Earth’s magnetic field interacts with solar winds. Cause: Shutdown occurred when the guidance computer tried to convert the sideways rocket velocity from 64-bits to a 16-bit format. The number was too big, and an overflow error resulted. When the guidance system shut down, control passed to an identical redundant unit, which also failed because it was running the same algorithm. 7

Mars Climate Crasher (1998) Cost: $125 million Disaster: After a 286-day journey from Earth, the Mars Climate Orbiter fired its engines to push into orbit around Mars. The engines fired, but the spacecraft fell too far into the planet’s atmosphere, likely causing it to crash on Mars. Cause: The software that controlled the Orbiter thrusters used imperial units (pounds of force), rather than metric units (Newtons) as specified by NASA. 8

Y2K (1999) Cost: $500 billion Disaster: One man’s disaster is another man’s fortune, as demonstrated by the infamous Y2K bug. Businesses spent billions on programmers to fix a glitch in legacy software. While no significant computer failures occurred, preparation for the Y2K bug had a significant cost and time impact on all industries that use computer technology. Cause: To save computer storage space, legacy software often stored the year for dates as two digit numbers, such as “99″ for 1999. The software also interpreted “00″ to mean 1900 rather than 2000, so when the year 2000 came along, bugs would result. 9

What are the lessons to learn from this? Programming errors have major consequences: Damaged reputations Financial liabilities Injuries or deaths Programmers should: Pay attention to details Think carefully about boundary cases Practice good software engineering techniques 10

Interesting Articles: Therac-25 radiation therapy machine http://en.wikipedia.org/wiki/Therac Space Shuttle computer software http://www.fastcompany.com/magazine/06/writestuff.html Toyota car acceleration bug http://embeddedgurus.com/state-space/2014/02/are-we-shooting-ourselves-in-the-foot-with-stack-overflow/ 11