Section 8 Discussion Points

Slides:



Advertisements
Similar presentations
CS351 © 2003 Ray S. Babcock Software Testing What is it?
Advertisements

©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.
CS CS 5150 Software Engineering Lecture 27 People 2.
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.
Quality is about testing early and testing often Joe Apuzzo, Ngozi Nwana, Sweety Varghese Student/Faculty Research Day CSIS Pace University May 6th, 2005.
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
COMS S1007 Object-Oriented Programming and Design in Java July 10, 2008.
DEBUGGERS For CS302 Data Structures Course Slides prepared by TALHA OZ (most of the text is from
©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.
CPSC 372 John D. McGregor Module 0 Session 1 Introduction.
SEG Software Maintenance1 Software Maintenance “The modification of a software product after delivery to correct faults, to improve performance or.
28/08/2015SJF L31 F21SF Software Engineering Foundations ASSUMPTIONS AND TESTING Monica Farrow EM G30 Material available on Vision.
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
The Ariane 5 Launcher Failure
Chapter 2 The process Process, Methods, and Tools
CRASH AND BURN ARIANE 5 Kristen Hieronymus SYSM6309 Advanced Requirements Engineering
CPSC 871 John D. McGregor Module 0 Session 1 Introduction.
Introduction to Computers
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Ganssle 1 MAPLD 2005/S110 Learning from Jack Ganssle Disaster.
The Ariane 5 Launcher Failure June 4th 1996 Total failure of the Ariane 5 launcher on its maiden flight.
Computer Science: A Structured Programming Approach Using C1 4-6 Scope Scope determines the region of the program in which a defined object is visible.
Chapter 13: Regression Testing Omar Meqdadi SE 3860 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Chapter 8 Lecture 1 Software Testing. Program testing Testing is intended to show that a program does what it is intended to do and to discover program.
Chapter 10 Basic Skills Count Chapter 10 Basic Skills Count Lesson 10.2 Applying Other Skills Lesson 10.2 Applying Other Skills.
18 Aug 2006CSE403, Summer'06, Lecture 25b Lecture 25: Lessons from the History of Software Development (Part III) Valentin Razmov.
1 Software Engineering. 2 Software Engineering is the study of activities related to the development of a software product.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
1 of 9 DetaiLogic ™ Patent Pending Developer’s Introduction ■
Topic 10Summer Ariane 5 Some slides based on talk from Sommerville.
INTRODUCTION CSE 470 : Software Engineering. Goals of Software Engineering To produce software that is absolutely correct. To produce software with minimum.
Conversion of information in different coding systems
Hypothesis Tests l Chapter 7 l 7.1 Developing Null and Alternative
Types for Programs and Proofs
Fault Tolerant Computing
Ariane 5 Software error Integer overflow.
CSC 110 – Fluency in Information Technology Chapter 7: An Introduction to Debugging Dr. Curry Guinn.
Some Simple Definitions for Testing
QuickBooks is a leading accounting software, trusted by millions of small and medium-sized businesses. It’s a multi-tasking software that helps businesspersons.
ShootersPost Sneak Peek
LESSON 12 - Loops and Simulations
Print slides for students reference
Frequently asked questions about software engineering
Designing and Debugging Batch and Interactive COBOL Programs
Technology Integration Project.
Unlocking the Mysteries of Hypothesis Testing
An Introduction to Software Engineering
Topics discussed in this section:
SME1013 PROGRAMMING FOR ENGINEERS
CS 1120: Computer Science II Software Life Cycle
Fundamentals of Data Representation
Scientific Method 1. State the Problem 2. Research
The 11 Leadership Principles
Risk Management CSCE 489/689 (Software Security) Fall 2018
SME1013 PROGRAMMING FOR ENGINEERS
Algorithm and Ambiguity
Baisc Of Software Testing
Topics discussed in this section:
Topics discussed in this section:
Section 11.4: Using Inference to Make Decisions
Basic Skills Count Applying Other Skills
ECE 352 Digital System Fundamentals
An Introduction to Debugging
CS 1120: Computer Science II Software Life Cycle
No matter how hard you try, you will never get an error free system!
Scratch Programming Lesson 7 Debugging.
Testing Hypotheses I Lesson 9.
Requirements Engineering
Peer Review: How scientists get their homework marked
Introduction to Computers
Presentation transcript:

Section 8 Discussion Points

Is Software Born Correct or Not? Should software be assumed to be faulty until applying the currently accepted best practice methods can demonstrate that it is correct or should it be vice versa? A) Faulty until proven correct? B) Correct until proven faulty? Consider the ‘Ariane 5’ disaster (among many others)

Lessons from ‘Ariane 5’ (http://www2. vuw. ac (A) Test! (B) Try to write code so that it cannot fail. The SRI should never have sent data to the main computer that was not valid and open to be misinterpreted as flight instructions. (C) Don't allow errors or exceptions to propagate in an uncontrolled manner. The possibility of an exception had been allowed for in the design, just not for this particular calculation. (D) When reusing code from another system, make sure any existing requirements or assumptions remain valid. You should be able to track from requirements to code and vice-versa. (E) Reused code still needs to be tested. Yes, its likely to have fewer bugs if it has worked before, but the reuse has changed the context, new bugs may appear or old ones be exposed. (F) Make sure that the documentation links aspects of the design with specific requirements and vice-versa. … so that when requirements are changed, affected design and coding decisions can be easily identified. (G) Test!

Implications of Code Size How large is the largest software product you have ever worked on? (A) 103 LOC (B) 104 LOC (C) 105 LOC (D) More What do you think is the software industry average productivity (in terms of LOC) per person per year?

103 LOC  Mathematics 104 LOC  Science 105 LOC  Engineering “As The Size of the Software System Grows, The Key Discipline Changes” (http://www.cs.washington.edu/education/courses/503/00sp/ lecture%202%20(overview).htm) 103 LOC  Mathematics 104 LOC  Science 105 LOC  Engineering 106 LOC  Social Science 107 LOC  Politics 108 LOC  ?