Software Reliability Definition: The probability of failure-free operation of the software for a specified period of time in a specified environment. www.educlash.com.

Slides:



Advertisements
Similar presentations
Test process essentials Riitta Viitamäki,
Advertisements

Lecture 8: Testing, Verification and Validation
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation.
CSE3308/CSC Software Engineering: Analysis and DesignLecture 7B.1 Software Engineering: Analysis and Design - CSE3308 Reliability CSE3308/CSC3080/DMS/2000/17.
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
SWE Introduction to Software Engineering
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.
(c) 2007 Mauro Pezzè & Michal Young Ch 1, slide 1 Software Test and Analysis in a Nutshell.
Testing Metrics Software Reliability
Swami NatarajanJuly 14, 2015 RIT Software Engineering Reliability: Introduction.
©Ian Sommerville 2004Software Engineering, 7th edition. Insulin Pump Slide 1 The portable insulin pump Developing a dependability specification for the.
3. Software product quality metrics The quality of a product: -the “totality of characteristics that bear on its ability to satisfy stated or implied needs”.
CIS 376 Bruce R. Maxim UM-Dearborn
Software Testing and QA Theory and Practice (Chapter 15: Software Reliability) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory and Practice.
Non-functional requirements
Test coverage Tor Stålhane. What is test coverage Let c denote the unit type that is considered – e.g. requirements or statements. We then have C c =
Overview Software Quality Assurance Reliability and Availability
Software Dependability CIS 376 Bruce R. Maxim UM-Dearborn.
Software Project Management
Software faults & reliability Presented by: Presented by: Pooja Jain Pooja Jain.
Software Reliability Growth. Three Questions Frequently Asked Just Prior to Release 1.Is this version of software ready for release (however “ready” is.
Software Reliability Categorising and specifying the reliability of software systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation 1.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 15 Software Reliability
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Slide 1 Critical Systems Specification 2.
Software Reliability SEG3202 N. El Kadri.
Software availability –the probability that a program is operating according to requirements at a given point in time. Availability = (MTTF/MTBF) x 100.
Boğaziçi University Software Reliability Modelling Computer Engineering Software Reliability Modelling Engin Deveci.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
Ch. 1.  High-profile failures ◦ Therac 25 ◦ Denver Intl Airport ◦ Also, Patriot Missle.
Software Reliability (Lecture 13) Dr. R. Mall. Organization of this Lecture: $ Introduction. $ Reliability metrics $ Reliability growth modelling $ Statistical.
Building Dependable Distributed Systems Chapter 1 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 3.
Software Reliabilty1 Software Reliability Advanced Software Engineering COM360 University of Sunderland © 1998.
Software Engineering 2004 Jyrki Nummenmaa 1 SOFTWARE PRODUCT QUALITY Today: - Software quality - Quality Components - ”Good” software properties.
1 Software Quality Assurance. 2 Quality Concepts - 1 Variation control is the heart of quality control Software engineers strive to control the – process.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa SOFTWARE PRODUCT QUALITY Today: - Software quality -
Software Reliability [Kehandalan Perangkat Lunak] Catur Iswahyudi.
 Software reliability is the probability that software will work properly in a specified environment and for a given amount of time. Using the following.
Chapter 11 – Reliability Engineering
Software Defects Cmpe 550 Fall 2005
Software Metrics and Reliability
Software Quality Assurance
Regression Testing with its types
Hardware & Software Reliability
Software Quality Assurance
Software Project Management
Critical Systems Specification
Chapter 18 Maintaining Information Systems
Software Testing An Introduction.
Software Engineering B.Tech Ii csE Sem-II
Software Reliability PPT BY:Dr. R. Mall 7/5/2018.
Product reliability Measuring
Chapter 21 Software Quality Assurance
Fault Tolerance In Operating System
BASICS OF SOFTWARE TESTING Chapter 1. Topics to be covered 1. Humans and errors, 2. Testing and Debugging, 3. Software Quality- Correctness Reliability.
Software Reliability: 2 Alternate Definitions
Critical Systems Validation
Chapter 21 Software Quality Assurance
Software Reliability Models.
Software Test Termination
Critical Systems Validation
Software reliability CS 560 Lecture 15.
Software Reliability (Lecture 12)
Progression of Test Categories
Test coverage Tor Stålhane.
Software Quality Assurance
Presentation transcript:

Software Reliability Definition: The probability of failure-free operation of the software for a specified period of time in a specified environment. www.educlash.com

Software Reliability Trustworthiness or dependability. Probability of the product working correctly over a given period of time. Not only depends on the number of errors but also on the exact location of the error. It is also depends on the execution profile. Observer dependant Cannot be determined absolutely. www.educlash.com

What is Reliability? Reliability is a broad concept. It is applied whenever we expect something to behave in a certain way. Reliability is one of the metrics that are used to measure quality. It is a user-oriented quality factor relating to system operation. Intuitively, if the users of a system rarely experience failure, the system is considered to be more reliable than one that fails more often. A system without faults is considered to be highly reliable. Constructing a correct system is a difficult task. Even an incorrect system may be considered to be reliable if the frequency of failure is “acceptable.” Key concepts in discussing reliability: Fault, Failure, Time www.educlash.com

What is Reliability? Failure A failure is said to occur if the observable outcome of a program execution is different from the expected outcome. Fault The cause of failure is called a fault. Example: A failure may be cause by a defective block of code. Time Time is a key concept in the formulation of reliability. If the time gap between two successive failures is short, we say that the system is less reliable. Two forms of time are considered. Execution time () Calendar time (t) What is Reliability? www.educlash.com

Factors Influencing Software Reliability A user’s perception of the reliability of a software depends upon two categories of information. The number of faults present in the software. The ways users operate the system. This is known as the operational profile. The fault count in a system is influenced by the following. Size and complexity of code Characteristics of the development process used Education, experience, and training of development personnel Operational environment www.educlash.com

Applications of Software Reliability Comparison of software engineering technologies What is the cost of adopting a technology? What is the return from the technology -- in terms of cost and quality? Measuring the progress of system testing Key question: How of testing has been done? The failure intensity measure tells us about the present quality of the system: high intensity means more tests are to be performed. Controlling the system in operation The amount of change to a software for maintenance affects its reliability. Thus the amount of change to be effected in one go is determined by how much reliability we are ready to potentially lose. Better insight into software development processes Quantification of quality gives us a better insight into the development processes. Applications of Software Reliability www.educlash.com

Reliability metrics Probability of failure on demand (POFOD): This is a measure of the likelihood that the system will fail when a service request is made POFOD = 0.001 means 1 out of 1000 service requests result in failure Relevant for safety-critical or non-stop systems www.educlash.com www.educlash.com

Con.. Rate of fault occurrence (ROCOF) Frequency of occurrence of unexpected behaviour ROCOF of 0.02 means 2 failures are likely in each 100 operational time units Relevant for operating systems, transaction processing systems www.educlash.com

Con.. Mean time to failure Measure of the time between observed failures MTTF of 500 means that the time between failures is 500 time units Relevant for systems with long transactions e.g. CAD systems www.educlash.com

Con.. Availability Measure of how likely the system is available for use. Takes repair/restart time into account Availability of 0.998 means software is available for 998 out of 1000 time units Relevant for continuously running systems e.g. telephone switching systems www.educlash.com

Con.. Mean Time Between Failures(MTBF): Can combine MTTF and MTTR. If MTBF indicates 300hours indicates that every failure occurs after 300hrs. Mean Time to Repair(MTTR): Once failure occurs, some time is required to fix the error. MTTR measures the average time to track the errors causing the failure and fix it. www.educlash.com

Failure Classification Transient - only occurs with certain inputs Permanent - occurs on all inputs Recoverable - system can recover without operator help Unrecoverable - operator has to help Non-corrupting - failure does not corrupt system state or data Corrupting - system state or data are altered www.educlash.com

Reliability growth modelling Growth model is a mathematical model of the system reliability change as it is tested and faults are removed Used as a means of reliability prediction by extrapolating from current data Depends on the use of statistical testing to measure the reliability of a system version www.educlash.com

Equal-step reliability growth www.educlash.com

Observed reliability growth Simple equal-step model but does not reflect reality Reliability does not necessarily increase with change as the change can introduce new faults The rate of reliability growth tends to slow down with time as frequently occurring faults are discovered and removed from the software A random-growth model may be more accurate www.educlash.com

Random-step reliability growth www.educlash.com

Growth models choice Many different reliability growth models have been proposed No universally applicable growth model Reliability should be measured and observed data should be fitted to several models Best-fit model should be used for reliability prediction www.educlash.com