Aaron Hoff. Overview Compare and hardware and software reliability Discuss why software should be reliable? Describe MLE (Maximum Likelihood Estimation)

Slides:



Advertisements
Similar presentations
Brief introduction on Logistic Regression
Advertisements

1 Exponential Distribution and Reliability Growth Models Kan Ch 8 Steve Chenoweth, RHIT Right: Wait – I always thought “exponential growth” was like this!
Software Reliability Engineering
1 Software Reliability Growth Models Incorporating Fault Dependency with Various Debugging Time Lags Chin-Yu Huang, Chu-Ti Lin, Sy-Yen Kuo, Michael R.
1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance.
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
Chapter 4 Probability Distributions
Copyright © 2010 Pearson Education, Inc. Chapter 19 Confidence Intervals for Proportions.
Slide 1 Statistics Workshop Tutorial 4 Probability Probability Distributions.
7-2 Estimating a Population Proportion
Estimation 8.
Copyright © 2010, 2007, 2004 Pearson Education, Inc. Lecture Slides Elementary Statistics Eleventh Edition and the Triola Statistics Series by.
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.
McGraw-Hill Ryerson Copyright © 2011 McGraw-Hill Ryerson Limited. Adapted by Peter Au, George Brown College.
Overview Software Quality Assurance Reliability and Availability
ECE355 Fall 2004Software Reliability1 ECE-355 Tutorial Jie Lian.
1 NASA OSMA SAS02 Software Reliability Modeling: Traditional and Non-Parametric Dolores R. Wallace Victor Laing SRS Information Services Software Assurance.
Software faults & reliability Presented by: Presented by: Pooja Jain Pooja Jain.
Pop Quiz How does fix response time and fix quality impact Customer Satisfaction? What is a Risk Exposure calculation? What’s a Scatter Diagram and why.
Software Reliability Model Deterministic Models Probabilistic Models Halstead’s software metric McCabe’s cyclomatic complexity metrix Error seeding Failure.
1 1 Slide Statistical Inference n We have used probability to model the uncertainty observed in real life situations. n We can also the tools of probability.
Chapter 5 Sampling Distributions
Overview G. Jogesh Babu. Probability theory Probability is all about flip of a coin Conditional probability & Bayes theorem (Bayesian analysis) Expectation,
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 15 Software Reliability
Slide 6.1 CHAPTER 6 TESTING. Slide 6.2 Overview l Quality issues l Nonexecution-based testing l Execution-based testing l What should be tested? l Testing.
1SAS 03/ GSFC/SATC- NSWC-DD System and Software Reliability Dolores R. Wallace SRS Technologies Software Assurance Technology Center
©The McGraw-Hill Companies, Inc. 2008McGraw-Hill/Irwin Probability Distributions Chapter 6.
Software Reliability SEG3202 N. El Kadri.
Modeling and Simulation CS 313
Copyright © 2010, 2007, 2004 Pearson Education, Inc. Review and Preview This chapter combines the methods of descriptive statistics presented in.
Slide 1 Copyright © 2004 Pearson Education, Inc..
Section Copyright © 2014, 2012, 2010 Pearson Education, Inc. Lecture Slides Elementary Statistics Twelfth Edition and the Triola Statistics Series.
Random Sampling, Point Estimation and Maximum Likelihood.
Lecture 12 Statistical Inference (Estimation) Point and Interval estimation By Aziza Munir.
Educational Research: Competencies for Analysis and Application, 9 th edition. Gay, Mills, & Airasian © 2009 Pearson Education, Inc. All rights reserved.
Boğaziçi University Software Reliability Modelling Computer Engineering Software Reliability Modelling Engin Deveci.
Ch9. Inferences Concerning Proportions. Outline Estimation of Proportions Hypothesis concerning one Proportion Hypothesis concerning several proportions.
Software Metrics and Reliability. Definitions According to ANSI, “ Software Reliability is defined as the probability of failure – free software operation.
Test Drivers and Stubs More Unit Testing Test Drivers and Stubs CEN 5076 Class 11 – 11/14.
1 Reliability-Sept2001 Software Reliability Through Hardware Reliability Dolores R. Wallace SRS Information Services Software Assurance Technology Center.
1 Chapter Two: Sampling Methods §know the reasons of sampling §use the table of random numbers §perform Simple Random, Systematic, Stratified, Cluster,
Chin-Yu Huang Department of Computer Science National Tsing Hua University Hsinchu, Taiwan Optimal Allocation of Testing-Resource Considering Cost, Reliability,
Copyright © 2010, 2007, 2004 Pearson Education, Inc. All Rights Reserved. Section 7-1 Review and Preview.
Fitting probability models to frequency data. Review - proportions Data: discrete nominal variable with two states (“success” and “failure”) You can do.
Copyright © 2010 Pearson Education, Inc. Chapter 19 Confidence Intervals for Proportions.
5-1 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. May 28, 2009 Inventory # Chapter 5 Six Sigma.
Copyright © 2009 Pearson Education, Inc. Chapter 19 Confidence Intervals for Proportions.
Confidence Interval Estimation For statistical inference in decision making: Chapter 9.
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M13 8/20/2001Slide 1 SMU CSE 8314 /
Software Reliability Estimates/ Projections, Cumulative & Instantaneous Presented by Dave Dwyer With help from: Ann Marie Neufelder, John D. Musa, Martin.
Statistics Sampling Distributions and Point Estimation of Parameters Contents, figures, and exercises come from the textbook: Applied Statistics and Probability.
Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M00 - Version 7.09 SMU CSE 8314 Software Measurement.
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M12 8/20/2001Slide 1 SMU CSE 8314 /
Review on Test-Based Approach of Software Reliability November 22 nd, 2010 Nuclear I&C and Information Engineering LabKAIST Bo Gyung Kim.
Outline Historical note about Bayes’ rule Bayesian updating for probability density functions –Salary offer estimate Coin trials example Reading material:
©The McGraw-Hill Companies, Inc. 2008McGraw-Hill/Irwin Probability Distributions Chapter 6.
Software Metrics and Reliability
Discussions on Software Reliability
Software Reliability Definition: The probability of failure-free operation of the software for a specified period of time in a specified environment.
Software Reliability PPT BY:Dr. R. Mall 7/5/2018.
Confidence Intervals for Proportions
Chapter 5 Sampling Distributions
Chapter 5 Sampling Distributions
Software Reliability: 2 Alternate Definitions
Introduction to Instrumentation Engineering
Critical Systems Validation
Econometric Models The most basic econometric model consists of a relationship between two variables which is disturbed by a random error. We need to use.
Confidence Intervals for Proportions
Definitions Cumulative time to failure (T): Mean life:
Presentation transcript:

Aaron Hoff

Overview Compare and hardware and software reliability Discuss why software should be reliable? Describe MLE (Maximum Likelihood Estimation) Show two specific reliability models Mill’s Error Seeding Model Jelinski-Moranda Model Software Reliability Tools Training Conclusion

Reliability Webster’s Dictionary defines reliability as: 1. The quality or state of being suitable or fit to be relied on, dependable 2. The extent to which an experiment, test, or measuring procedure yields the same result on repeated trials.

Hardware Reliability

Hardware Reliability(cont.) Failure rate is very high during the burn in period. Many faults are found on all components. Thorough testing of all components cuts down on the number of faults. Enters the useful life with small amount of faults. After time, wears down and quickly increases in failure rate.

Software Reliability

Software Reliability(cont.) Starts with many faults in system when first created After much testing/debugging enters useful life cycle Useful life includes upgrades made to system which bring about new faults. System needs to then be tested to reduce faults. Eventually evens out into the Obsolescence cycle where software is usually quite reliable.

Compare/Contrast HW & SW Both start out with large number of faults Both need to be tested completely Hardware faults are physical, software faults are not Hardware stays at steady reliability level in useful life, software needs constant testing after upgrades. Hardware wears out over time, software does not. Hardware failure is random, software failure is systematic.

Why should software be reliable? Examples of software failure Therac 25 (1985 – 1986) Ariane 5 (1996) Mars Lander (1999) Lives can be put in danger Money and time can be lost Lost trust of customers.

Software Reliability Models Why do we need them? Predict probability of failure of a component or system Estimate the mean time to the next failure Predict number of (remaining) failures

Software Reliability Models Many models have come out to help increase reliability All models can be grouped into these categories: Error seeding, Failure rate, Curve fitting, Reliability growth, Program structure, Input domain, Execution path, Nonhomogenous Poisson process, Bayesian and unified, and Markov. MLE(Maximum likelihood estimation) is method used for fitting statistical model to data

MLE Principle is to estimate parameter values of models which make observed data most likely to occur Probability itself cannot be used for estimation of parameters MLE uses likelihood instead to estimate parameter values Uses sample data set to estimate different parameter values.

Coin Flip Example Probability of flipping heads over 100 flips is 0.5 Say sample set is: Heads was flipped 56 times Plug variety of probability values into this model to obtain data that can be graphed.

Graph for MLE of Coin Flip example

Error Seeding Estimates total number of errors by introducing known errors into software. Terminology Inherent error – one found in software that causes failure regardless of what user does. Induced(seeded) error – one intentionally inserted into piece of software to estimate total number of errors

Mill’s error seeding model Proposed in 1970 by Mill Used during testing phase Developers/Testers insert errors in places they think errors would occur (error prone locations) Test whole system Gather data on all errors found during testing process Total number of errors can then be estimated

Mill’s Error Seeding Model(cont.) Hypergeometric distribution to find probability of k induced errors where N = total number of inherent errors n 1 = total number of induced errors r = total number of errors removed during debugging k = total number of induced errors in r removed errors r – k = total number of inherent errors in r removed errors

Mill’s Error Seeding Model(cont.) The hypergeometric distribution can be simplified greatly to achieve an equation for total # of inherent errors The lower the total number of errors estimated, the higher the reliability.

Advantages/Disadvantages A - The fault representation is easy to apply with fault- seeding tool. A - Can be used to predict the fault distribution of particular software. D - This model is very time consuming D - Can not be applicable in large programs D - Always chance of human error when deciding where to put all induced error.

Failure Rate(Terminology) Failure Rate – the frequency with which an engineered system or component fails. Failure – Occurs when the user perceives that the program ceases to deliver the expected service Fault – The cause of the failure or internal error of software Basic premise of failure rate is that successive failure rates will get longer as faults are removed from the software system.

Jelinski-Moranda Model One of the earliest models(1972) proposed when looking into software reliability. Six assumptions: Program contains N initial faults which is unknown but a fixed constant Each fault is independent and equally likely to cause failure Time intervals between failures are independent When failure occurs, corresponding fault is removed Fault is assumed to be instantaneously removed, no new faults are inserted during removal Software failure rate is constant and proportional to number of faults remaining in software

Jelinski-Moranda Model The six assumptions set ground rules for model. Intensity fail rate function: where φ = a proportional constant, the contribution any one fault makes to the overall program; N = the number of initial faults in the program; t i = the time between the (i-1)th and the ith failures.

Jelinski-Moranda Model The intensity function is used to obtain magnitude of the failure rate at a certain failure interval. Infer: After first failure rate where fault is removed with certainty, intensity shall be lowered in proportion to number of faults remaining. Jelinski-Moranda used this information to obtain a reliability function. MLE is used to estimate values such as the number of initial faults(N) or proportional constant(φ)

Software Reliability Tools SMERFS(Statistical Modeling and Estimation of Reliability Functions for Software) - allows user to perform complete software reliability analysis SARA(Software Assurance Reliability Automation) - incorporates both reliability growth modeling and design code metrics for analyzing software time between failure data

Training Training organizations RAC ReliaSoft SoftRel - SoHaR

Conclusion SW reliability is similar to HW reliability but must be treated differently Reliability of software is something to strive for Can prevent major faults that have possibility of taking human life, money, time, and customers Useful to have model or something to measure Many models have been proposed Training is available to those who want to learn more about reliability engineering

References [1] Ensuring Software Reliability. Neufelder, Ann Marie. New York: Marcel Dekker, Inc., [2] Goddard Space Flight Center. Overview of Software Reliability. February 16, [3] Handbook of Software Reliability Engineering. Ed. Michael R. Lyu. New York: McGraw-Hill Companies, Inc., [4] Lloyd, Robin. Metric mishap caused loss of NASA orbiter. September 30,1999. [5] Pan, Jiantao. Software Reliability. Spring 1999.

References(cont.) [6] Purcell, S. Maximum Likelihood Estimation. May 20, [7] Software Reliability. Pham, Hoang. Singapore: Springer-Verlag Singapore Pte. Ltd., [8] Software Reliability and Testing. Pham, Hoang. Piscataway: The Institute of Electrical and Electronics engineers, Inc., [9] Software Reliability Models. Malaiya, Yashwant K., and Pradip K. Srimani. New York: Institute of Electrical and Electronics Engineers, Inc., [10] Software Safety and Reliability. Herrmann, Debra S. Piscataway: The Institute of Electrical and Electronics engineers, Inc.,