2.2 Software Myths 2.2 Software Myths Myth 1. The cost of computers is lower than that of analog or electromechanical devices. –Hardware is cheap compared.

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

Test process essentials Riitta Viitamäki,
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
LIFE CYCLE MODELS FORMAL TRANSFORMATION
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation.
ECE 720T5 Fall 2012 Cyber-Physical Systems Rodolfo Pellizzoni.
Can We Trust the Computer?
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development.
Module 3 UNIT I " Copyright 2002, Information Spectrum, Inc. All Rights Reserved." INTRODUCTION TO RCM RCM TERMINOLOGY AND CONCEPTS.
1 Basic Definitions: Testing What is software testing? Running a program In order to find faults a.k.a. defects a.k.a. errors a.k.a. flaws a.k.a. faults.
Reliability and Safety Lessons Learned. Ways to Prevent Problems Good computer systems Good computer systems Good training Good training Accountability.
Overview Lesson 10,11 - Software Quality Assurance
Building Reliable Software Requirements and Methods.
Modified from Sommerville’s originals Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation.
Soft. Eng. II, Spr. 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 9 Title : Reliability Reading: I. Sommerville, Chap. 16, 17 and 18.
BCOR 1020 Business Statistics Lecture 21 – April 8, 2008.
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
ECI 2007: Specification and Verification of Object- Oriented Programs Lecture 0.
What Exactly are the Techniques of Software Verification and Validation A Storehouse of Vast Knowledge on Software Testing.
Unit 3a Industrial Control Systems
ELEMENTARY NUMBER THEORY AND METHODS OF PROOF
Software Dependability CIS 376 Bruce R. Maxim UM-Dearborn.
Ethical and Social...J.M.Kizza 1 Module 8: Software Issues: Risks and Liabilities Definitions Causes of Software Failures Risks Consumer Protection Improving.
CS527: (Advanced) Topics in Software Engineering Overview of Software Quality Assurance Tao Xie ©D. Marinov, T. Xie.
The Ariane 5 Launcher Failure
Towers of Hanoi. Introduction This problem is discussed in many maths texts, And in computer science an AI as an illustration of recursion and problem.
Why is software engineering worth studying?  Demand for software is growing dramatically  Software costs are growing per system  Many projects have.
CSE 403 Lecture 14 Safety and Security Requirements.
The Program Development Cycle
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 3 Slide 1 Critical Systems 1.
Testing -- Part II. Testing The role of testing is to: w Locate errors that can then be fixed to produce a more reliable product w Design tests that systematically.
MODULE 12 Control Audit And Security Of Information System 12.1 Controls in Information systems 12.2 Need and methods of auditing Information systems 12.3.
CS 4001Mary Jean Harrold 1 Can We Trust the Computer?
Slide 1V&V 10/2002 Software Quality Assurance Dr. Linda H. Rosenberg Assistant Director For Information Sciences Goddard Space Flight Center, NASA
Building Dependable Distributed Systems Chapter 1 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Software Testing and Quality Assurance Software Quality Assurance 1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Chapter 19 Verification and Validation.
Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such.
Introduction to Problem Solving. Steps in Programming A Very Simplified Picture –Problem Definition & Analysis – High Level Strategy for a solution –Arriving.
Quality Assurance.
Safety-Critical Systems 7 Summary T V - Lifecycle model System Acceptance System Integration & Test Module Integration & Test Requirements Analysis.
Nonbehavioral Specifications Non-behavioral Characteristics Portability Portability Reliability Reliability Efficiency Efficiency Human Engineering.
Software Defects.
Seven Myths of Formal Methods - by Anthony Hall, Praxis Systems Presented by Shanmughapriya Senthil.
1 Levent Yilmaz COMP7730: Formal Methods in Software Engineering.
An Axiomatic Basis for Computer Programming Robert Stewart.
Verification of FT System Using Simulation Petr Grillinger.
Formal Methods in Software Engineering1 Today’s Agenda  Mailing list  Syllabus  Introduction.
1 Software Testing and Quality Assurance Lecture 38 – Software Quality Assurance.
LECTURE 7 AVIATION SAFETY & SECURITY
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Can We Trust the Computer? FIRE, Chapter 4. What Can Go Wrong? What are the risks and reasons for computer failures? How much risk must or should we accept?
Formal methods its uses and limitations. A little about formality Objective knowledge / information Objective knowledge / information Information brought.
Why is software engineering worth studying?
Hardware & Software Reliability
Types for Programs and Proofs
ATTRACT TWD Symposium, Barcelona, Spain, 1st July 2016
Principles of Programming and Software Engineering
Software Myths Software is easy to change
Air Carrier Continuing Analysis and Surveillance System (CASS)
Critical Systems Validation
Week 13: Errors, Failures, and Risks
Software Verification and Validation
Software Verification and Validation
Unit I Module 3 - RCM Terminology and Concepts
Software Verification and Validation
Presentation transcript:

2.2 Software Myths 2.2 Software Myths Myth 1. The cost of computers is lower than that of analog or electromechanical devices. –Hardware is cheap compared to other electromechanical devices –However cost of software, with reliability and maintenance, is enormous e.g. Space-Shuttle software has 400,000 words (relatively small) but costs NASA approximately $100,000,000 a year to maintain. –Software Costs can become exorbitant over time.

Myth 2. Software is easy to change. –Yes changes are easy to make -- but hard to make without introducing errors. –Every change must be verified and rectified –Becomes more “brittle” with changes –We become hesitant to change software over time -- recognizing

Myth 3 Cont. Myth 3 Cont. –Little available data on software reliability vs. non-computer systems –British Royal Signals and Radar Establishment analyzed software for highly safety critical purposes. –10% of modules or functions deviated from original design. –Deviations found even in tested software. –1 in 200 new modules had errors with observable effects on performance. –Integer overflow errors. –Complete error elimination is a hard and lofty goal to achieve.

Myth 3 Cont. Myth 3 Cont. –These are not just “teething problems” but chronic ones over tens or hundreds of hours of use –e.g. (1) Therac-25 worked correctly thousands of times before first know overdose occurred. – (2) Space Shuttle -- NASA invested enormous effort and resources since 1980 »yet 16 severity-level 1 software errors have been discovered (errors that would result in loss of shuttle or crew »8 errors remained in code used in flights, though not encountered

Myth 3/ Cont. 12 errors with lower severity triggered during flight; 3 threatened mission, 9 had to be worked around ALL DESPITE THE SOPHISTICATION OF NASA’s software development and verification program.

Myth 3/ Cont. Redundancy is not a solution as in the case of hardware wearout. “Zero-Defect” software is false claim. Usually not enough time to perfect software; costs also severe. Computers may be more reliable == but not necessarily safer.

Myth 4: Increasing software reliability will increase safety –Software errors may not be related to safety at all –Compliance with requirements specification may not remove errors –Safety-critical software errors can often be traced to Requirements –That is, software is doing exactly what it is supposed to do. –Software may be correct and 100% reliable -- yet responsible for serious accidents. –RELIABILITY DOES NOT EQUAL SAFETY

Myth 5 Testing software or “proving” (using formal verification techniques) software correct can remove all the errors. –Software limitations well known –Exhaustive testing is impossible –Only a relatively small part of the state space can be covered –Despite improved testing techniques, no breakthroughs –Mathematical proofs advanced - - but even arguments for impossibility of complete proof of correctness –Mathematical verification of software may be possible in the future.

Myth 5: /cont. Correct behavior of software must be specified in a formal mathematical language. May be as difficult and error-prone as the code. Software errors often involve overload -- outside the realm of specification Intricate software interactions complicate the issue. In summary, most safety-related software errors can be traced to the requirements

Myth 6: Reusing Software increases safety –Reuse of proven software may increase reliability, but has little or no effect on safety –May even decrease safety because of the complacency it engenders –Specific hazards of new implementation may not have been considered –Examples include:

Therac-20 parts reused for Therac-25 with same error, but causing two deaths »Error did not have serious consequences in Therac-20. »Resulted in occasional blown fuse -- not massive overdose »Never detected or fixed in Therac-20

Air Traffic Control Software »Successful in US for many years but not in Great Britain »Was not developed for zero degrees longitude along the Greenwich Meridian »Manchester plopped on top of Warwick

Aviation Software written for Northern Hemisphere has problems in Southern Hemisphere Software written for US F-16s caused problems when reused in aircraft flown over the Dead Sea where altitude is below sea level.Software written for US F-16s caused problems when reused in aircraft flown over the Dead Sea where altitude is below sea level. Safety is not a property of software alone, but of the software design, and environment where software is used.Safety is not a property of software alone, but of the software design, and environment where software is used. Application, environment, and system-specific.Application, environment, and system-specific.

Myth 7: Computers reduce risk over mechanical systems b Argument 1-- can check parameters through finer control more often b Counter -- Finer control allows operation under smaller safety margins b No way to test adequately

Myth 7: /cont. Argument 2-- automated system allow operators to work farther away from hazardous areas. More accidents due to operators’ entry into environment. Humans enter unsafe hazardous environments Became unsafe to enforce robot shutdown protocols

Myth 7/cont. Argument 3 -- eliminating operators eliminates human errors Argument 4 -- Computers have the potential to provide better information to operators and thus improve decision making Argument 5 -- Software does not fail.