1 Evaluation of Safety Critical Software David L. Parnas, C ACM, June 1990.

Slides:



Advertisements
Similar presentations
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. A PowerPoint Presentation Package to Accompany Applied Statistics.
Advertisements

Configuration management
Inspection of Safety-Critical Software Using Program- Function Tables Jeffrey Smith, Richard Bruno, Vince Fumo.
Modeling and Simulation By Lecturer: Nada Ahmed. Introduction to simulation and Modeling.
Design of Experiments Lecture I
Grey Box testing Tor Stålhane. What is Grey Box testing Grey Box testing is testing done with limited knowledge of the internal of the system. Grey Box.
Lecture # 2 : Process Models
Chapter 11: Selected Quantitative Relationships (pt. 1) ISE 443 / ETM 543 Fall 2013.
Design Concepts and Principles
1 Design by Contract Building Reliable Software. 2 Software Correctness Correctness is a relative notion  A program is correct with respect to its specification.
Exam 1 Review u Scores Min 30 Max 96 Ave 63.9 Std Dev 14.5.
Software Testing Using Model Program DESIGN BY HONG NGUYEN & SHAH RAZA Dec 05, 2005.
A GOAL-BASED FRAMEWORK FOR SOFTWARE MEASUREMENT
The Infeasibility of Quantifying the Reliability of Life-Critical Real-Time Software.
Presented by: Hatem Halaoui
CSC 402, Fall Requirements Analysis for Special Properties Systems Engineering (def?) –why? increasing complexity –ICBM’s (then TMI, Therac, Challenger...)
1 1 Slide © 2006 Thomson/South-Western Chapter 9 Hypothesis Testing Developing Null and Alternative Hypotheses Developing Null and Alternative Hypotheses.
Swami NatarajanJuly 14, 2015 RIT Software Engineering Reliability: Introduction.
Software Testing and QA Theory and Practice (Chapter 15: Software Reliability) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory and Practice.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 1.
What Exactly are the Techniques of Software Verification and Validation A Storehouse of Vast Knowledge on Software Testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation 1.
1 841f06parnas13 Evaluation of Safety Critical Software David L. Parnas, C ACM, June 1990.
Copyright © Cengage Learning. All rights reserved. 8 Tests of Hypotheses Based on a Single Sample.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 15 Software Reliability
1 Chapter 2 Socio-technical Systems (Computer-based System Engineering)
Evaluation of Safety Critical Software -- David L. Parnas, -- A. John van Schouwen, -- Shu Po Kwan -- June 1990 Presented By Zhuojing Li.
INFO 637Lecture #81 Software Engineering Process II Integration and System Testing INFO 637 Glenn Booker.
CSE 303 – Software Design and Architecture
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
Configuration Management (CM)
© 2008 McGraw-Hill Higher Education The Statistical Imagination Chapter 10. Hypothesis Testing II: Single-Sample Hypothesis Tests: Establishing the Representativeness.
Socio-technical Systems (Computer-based System Engineering)
West Virginia University Towards Practical Software Reliability Assessment for IV&V Projects B. Cukic, E. Gunel, H. Singh, V. Cortellessa Department of.
Ch. 1.  High-profile failures ◦ Therac 25 ◦ Denver Intl Airport ◦ Also, Patriot Missle.
Software Testing Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
1 Exam2 Review 841f07exam2review24nov Q1 - Parnas 841f07exam2review24nov27 2 Parnas discussed that software is difficult because failures are not.
Safety Critical Systems 5 Testing T Safety Critical Systems.
1 Chapter 8 Hypothesis Testing 8.2 Basics of Hypothesis Testing 8.3 Testing about a Proportion p 8.4 Testing about a Mean µ (σ known) 8.5 Testing about.
1 Exam2 Review 841f07exam2review24nov Q1 - Parnas 841f07exam2review24nov27 2 Parnas discussed that software is difficult because failures are not.
6.1 Inference for a Single Proportion  Statistical confidence  Confidence intervals  How confidence intervals behave.
Exam 1 Review u Scores Min 30 Max 96 Ave 63.9 Std Dev 14.5.
1 Evaluation of Safety Critical Software David L. Parnas, C ACM, June 1990.
Requirements / Specifications. 01/18/10CS-499G2 Requirements Determine what the customer needs (wants) the software to do  What are requirements?  An.
Chapter 8 Testing. Principles of Object-Oriented Testing Å Object-oriented systems are built out of two or more interrelated objects Å Determining the.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
1 Fault-Tolerant Computing Systems #1 Introduction Pattara Leelaprute Computer Engineering Department Kasetsart University
1 Pre-exam2 Discussion Exam 2 Thurs, Nov 15 th 150 pts, 2 crib sheets allowed 841f07exam2preview23nov13 1.
Software Reliability “The most important dynamic characteristic of most software systems..” Sommerville (5th ed.) p365.
Software Measurement: A Necessary Scientific Basis By Norman Fenton Presented by Siv Hilde Houmb Friday 1 November.
C++ for Engineers and Scientists, Second Edition 1 Problem Solution and Software Development Software development procedure: method for solving problems.
Software Testing. SE, Testing, Hans van Vliet, © Nasty question  Suppose you are being asked to lead the team to test the software that controls.
Features of science revision
Chapter 9 -Hypothesis Testing
Slides by JOHN LOUCKS St. Edward’s University.
OPERATING SYSTEMS CS 3502 Fall 2017
Prepared by Lloyd R. Jaisingh
Lecture 9- Design Concepts and Principles
Software Life Cycle Models
Statistics for Business and Economics (13e)
Critical Systems Validation
Testing and Test-Driven Development CSC 4700 Software Engineering
Lecture 9- Design Concepts and Principles
Software testing.
Carrying out Practical Tasks
OMGT LECTURE 10: Elements of Hypothesis Testing
Presentation transcript:

1 Evaluation of Safety Critical Software David L. Parnas, C ACM, June 1990

Overview of Parnas’s article u What was the main point? u What did you learn? u What did you find confusing? u Has anything changed since 1990? 2 841f07parnas18oct25

Initial Faults u As a rule software systems do not work well until they have been used, and have failed repeatedly, in real applications. Generally, many uses and many failures are required before a product is considered reliable. Software products, including those that have become relatively reliable, behave like other products of evolution-like processes; they often fail, even years after they were built, when the operating conditions change f07parnas18oct25

Terms u Safety critical u Weak link behavior u Silver bullet u Clean room development u Trustworthiness 4 841f07parnas18oct25

Software Controllers u It is important to recognize that, in theory, software implemented controllers can be described in exactly the same way as black box mathematical models. They can also be viewed as black boxes whose output is a mathematical function of the input. In practice, they are not viewed this way. One reason for the distinction is that their functions are more complex (i.e. harder to describe) than the functions that describe the behavior of conventional controllers. However, [4] and [17] provide ample evidence that requirements for real systems can be documented in this way f07parnas18oct25

Difficulties u Why is software hard to test u Software Testing Concerns u Software Reviewability Concerns 6 841f07parnas18oct25

7 Necessary Reviews

8 Does OO change this?

Software Reliability u Nonetheless, our practical experience is that software appears to exhibit stochastic properties. It is quite useful to associate reliability figures such as MTBF (Mean Time Between Failures) with an operating system or other software product. Some software experts attribute the apparently random behavior to our ignorance. They believe that all software failures would be predictable if we fully understood the software, but our failure to understand our own creations justifies the treatment of software failures as random f07parnas18oct25

Operational Profile? u For systems that function correctly only in rare emergencies, we wish to measure the reliability in those situations where the system must take corrective action, and not include data from situations in which the system is not needed. The input sequence distributions used in reliability assessment should be those that one would encounter in emergency situations, and not those that characterize normal operation f07parnas18oct25

Error counts u In other words, even if we could count the number of errors, reliability is not a function of the error count. If asked to evaluate a safety-critical software product, there is no point in attempting to estimate or predict the number of errors remaining in a program f07parnas18oct25

13 Table 1 Table I shows that, if our design target was to have the probability of failure be less than 1 in 1000, performing between 4500 and 5000 tests (randomly chosen from the appropriate test case distribution) without failure would mean that the probability of an unacceptable product passing the test was less than 1 in a hundred.

14 Table II

For Tuesday, Oct 30 u For Tuesday, read “Practical ultra- reliability for abstract data types”, by Nikolik and Hamlet u Turn in at the beginning of class A summary of the article A description of the testing procedure Pick a reliability and show Parnas’ estimate of the number of tests required to achieve that and Nikolik’s estimate u HSPC Nov 7 – sign up in cis office f07parnas18oct25

1 minute paper u What issues/concerns/opinions/questions do you have about the Parnas paper? f07parnas18oct25