Software Reliability Engineering

Slides:



Advertisements
Similar presentations
Chapter 7 Hypothesis Testing
Advertisements

The Easiest solution isn’t always the best solution, even in Math Should we always believe what we are taught in the classroom?
OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
Sensitivity Analysis In deterministic analysis, single fixed values (typically, mean values) of representative samples or strength parameters or slope.
Reliable System Design 2011 by: Amir M. Rahmani
Module F: Simulation. Introduction What: Simulation Where: To duplicate the features, appearance, and characteristics of a real system Why: To estimate.
1 Software Reliability Growth Models Incorporating Fault Dependency with Various Debugging Time Lags Chin-Yu Huang, Chu-Ti Lin, Sy-Yen Kuo, Michael R.
Introduction to Probability and Statistics
Soft. Eng. II, Spr. 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 9 Title : Reliability Reading: I. Sommerville, Chap. 16, 17 and 18.
Testing Metrics Software Reliability
1 Fundamentals of Reliability Engineering and Applications Dr. E. A. Elsayed Department of Industrial and Systems Engineering Rutgers University
7-2 Estimating a Population Proportion
EEE499 Real Time Systems Software Reliability (Part II)
Copyright © 2010, 2007, 2004 Pearson Education, Inc. Lecture Slides Elementary Statistics Eleventh Edition and the Triola Statistics Series by.
Statistics for Managers Using Microsoft Excel, 4e © 2004 Prentice-Hall, Inc. Chap 6-1 Chapter 6 The Normal Distribution and Other Continuous Distributions.
Probability and Statistics in Engineering Philip Bedient, Ph.D.
1 2. Reliability measures Objectives: Learn how to quantify reliability of a system Understand and learn how to compute the following measures –Reliability.
Software Testing and QA Theory and Practice (Chapter 15: Software Reliability) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory and Practice.
 Software Software  Program vs Software Products Program vs Software Products  Software Characteristics Software Characteristics  Software Crisis.
Aaron Hoff. Overview Compare and hardware and software reliability Discuss why software should be reliable? Describe MLE (Maximum Likelihood Estimation)
Overview Software Quality Assurance Reliability and Availability
Software Dependability CIS 376 Bruce R. Maxim UM-Dearborn.
ECE355 Fall 2004Software Reliability1 ECE-355 Tutorial Jie Lian.
Software faults & reliability Presented by: Presented by: Pooja Jain Pooja Jain.
Software Reliability Categorising and specifying the reliability of software systems.
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.
1 Reliability Prediction A Quest for Reliable Parameters By Yair Shai.
Testing Hypotheses I Lesson 9. Descriptive vs. Inferential Statistics n Descriptive l quantitative descriptions of characteristics n Inferential Statistics.
© 2008 McGraw-Hill Higher Education The Statistical Imagination Chapter 9. Hypothesis Testing I: The Six Steps of Statistical Inference.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 15 Software Reliability
Software Reliability SEG3202 N. El Kadri.
Section Copyright © 2014, 2012, 2010 Pearson Education, Inc. Lecture Slides Elementary Statistics Twelfth Edition and the Triola Statistics Series.
Population All members of a set which have a given characteristic. Population Data Data associated with a certain population. Population Parameter A measure.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
Monte Carlo Simulation and Personal Finance Jacob Foley.
1 Theoretical Physics Experimental Physics Equipment, Observation Gambling: Cards, Dice Fast PCs Random- number generators Monte- Carlo methods Experimental.
IV&V Facility PI: Katerina Goseva – Popstojanova Students: Sunil Kamavaram & Olaolu Adekunle Lane Department of Computer Science and Electrical Engineering.
1 Software Testing and Quality Assurance Lecture 33 – Software Quality Assurance.
Software Engineering 2003 Jyrki Nummenmaa 1 SOFTWARE PRODUCT QUALITY Today: - Software quality - Quality Components - ”Good” software properties.
Boğaziçi University Software Reliability Modelling Computer Engineering Software Reliability Modelling Engin Deveci.
TESTING FOR THE RELIABILITY OF A SOFTWARE SARAT CHANDRA YADAVALLI CSC 532 TERM PAPER.
Reliability Models & Applications Leadership in Engineering
1 SMU EMIS 7364 NTU TO-570-N Inferences About Process Quality Updated: 2/3/04 Statistical Quality Control Dr. Jerrell T. Stracener, SAE Fellow.
1 Chapter 19 Monte Carlo Valuation. 2 Simulation of future stock prices and using these simulated prices to compute the discounted expected payoff of.
Monte Carlo Methods Versatile methods for analyzing the behavior of some activity, plan or process that involves uncertainty.
SUPPLEMENT TO CHAPTER NINETEEN Irwin/McGraw-Hill © The McGraw-Hill Companies, Inc., 1999 SIMULATION 19S-1 Chapter 19 Supplement Simulation.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
Software Engineering Chapter 3 CPSC Pascal Brent M. Dingle Texas A&M University.
What is Software Engineering? The discipline of designing, creating, and maintaining software by applying technologies and practices from computer science,
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.
5-1 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. May 28, 2009 Inventory # Chapter 5 Six Sigma.
Simulation is the process of studying the behavior of a real system by using a model that replicates the system under different scenarios. A simulation.
Software Engineering 2004 Jyrki Nummenmaa 1 SOFTWARE PRODUCT QUALITY Today: - Software quality - Quality Components - ”Good” software properties.
Learning Simio Chapter 10 Analyzing Input Data
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa SOFTWARE PRODUCT QUALITY Today: - Software quality -
Chapter 19 Monte Carlo Valuation. Copyright © 2006 Pearson Addison-Wesley. All rights reserved Monte Carlo Valuation Simulation of future stock.
2007 MIT BAE Systems Fall Conference: October Software Reliability Methods and Experience Dave Dwyer USA – E&IS baesystems.com.
Simulation Chapter 16 of Quantitative Methods for Business, by Anderson, Sweeney and Williams Read sections 16.1, 16.2, 16.3, 16.4, and Appendix 16.1.
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M12 8/20/2001Slide 1 SMU CSE 8314 /
To accompany Quantitative Analysis for Management, 9e by Render/Stair/Hanna 15-1 © 2006 by Prentice Hall, Inc. Upper Saddle River, NJ Prepared by.
 Software reliability is the probability that software will work properly in a specified environment and for a given amount of time. Using the following.
MECH 373 Instrumentation and Measurements
Software Metrics and 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.
Prepared by Lee Revere and John Large
Welcome to Corporate Training -1
Software Reliability It is defined as the ability of a system or component to perform its required functions under stated conditions for a specified period.
Lecture Slides Elementary Statistics Twelfth Edition
Presentation transcript:

Software Reliability Engineering By Jackie Wadzinski

The Patriot Missile Used to destroy incoming Iraqi Scud Missiles Hailed for effectiveness Operated for 100 consecutive hours 28 American soldiers killed Cause: Software Failure

The Patriot Missile A Learning Experience The software can be redesigned A new Patriot Missile can be built The fate of the 28 soldiers remains the same THE MORAL: Software Engineers need to find a way to engineer reliability into software.

Objectives Definition of Software Reliability Importance of Reliability Engineering Why Reliability Engineering is Difficult Reliability Engineering Processes Weibull Musa Monte Carlo Conclusion

What is Software Reliability? IEEE Definition: “The ability of a system or component to perform its required functions under stated conditions for a specified period of time.” Definition allows for “Just Right” level of reliability for software Software Reliability and Hardware Reliability have the same definition

Why is Software Reliability Important? Manager View Reliable software means satisfied customers Reliable software means repeat customers Reliable software is ethical Legal liability Customer View Reliable software saves time Reliable software increases efficiency

Why Software Reliability is Difficult to Calculate Without considering program evolution, failure rate is statistically non existent There are many possible causes for design defects for failures to arise from

Why Software Reliability is Difficult to Calculate Errors can occur without warning Cannot improve software quality if identical software components are used Periodic restarts can sometimes help fix problems Errors are caused by incorrect logic, incorrect statements, or incorrect input data Software may require infinite testing Software reliability models do not always fit the data points well

Over View There are many models to chose from when calculating software reliability Focus on three Weibull Failure Time Model Musa’s Basic Execution Time Model Monte Carlo Simulation Of all the models, each has strengths and limitations

Weibull Failure Time

About Weibull Failure Model Used to model failure processes of hardware One of the first models to be applied to software reliability modeling Flexible – accommodates increasing, decreasing or constant failure rates

Weibull Failure Model Weibull Failure Model Assumptions: Limitations: There are a fixed number of faults in the software being tested The number of faults are detected in time intervals ((t=0, t1), (t1,t2)….) Limitations: Flexibility allows for greater chance of making the wrong assumption

Weibull Failure Model Example Notice how the model follows the actual data

Musa

About Musa’s Basic Time Execution Model Developed by John Musa of AT&T Bell Laboratories One of the first models to use actual execution time of software components versus calendar time Time between failures is expressed in terms of CPU time

Musa’s Basic Time Execution Model Uses a Poisson Distribution Model Assumptions: The execution times between failures is exponentially distributed The hazard rate for a single fault is constant Limitations: Assumes new faults are not introduced after correction Assumes number of faults decreases over time

Musa’s Basic Time Execution Model Example Notice how the model follows the actual data

Monte Carlo Simulation

About Monte Carlo Simulation Developed in 1940s as part of the atomic bomb program Named after Monte Carlo, Monaco because city’s casinos featured games of chance like dice and roulette Today Monte Carlo Simulations are used in many applications including physics, finance, and system reliability

Monte Carlo Simulation Used for very complex problems which are difficult to solve or no solution exists Uses statistics to mathematically model real life processes and then estimates the probability of possible outcomes Involves fitting a curve to a process and then using the fitted curve to model a process over time Dice Example

Monte Carlo Simulation Process Determine a probability function Weibull Distribution – Best for failure process Lognormal Distribution – Best for repair process Determine the random number generator, the source for selecting random numbers that are distributed uniformly on the proper unit interval Determine a sampling rule for selecting samples for the model given a unit interval of random numbers Record a count successes and failures

Monte Carlo Example Select a random location within the rectangle If the selected location is blue, record a hit Repeat 10,000 times Blue Area = (Hits / 10,000) * Area of Rectangle Note: The standard error in the result is inversely proportional to the square root of the sample size

Monte Carlo Software Example Arbitrary 3 component subsystem The failure probability of each component given in the diagram above If the first component fails, then the second is checked If the second component fails, then the third component is checked If the third component fails, then the entire subsystem fails

Monte Carlo Software Example The actual failure of the subsystem is: The results of the actual simulation are:

Conclusion

Conclusion Engineering reliable software is important to both the engineer and the end user Engineering reliable software is not an easy task to accomplish There are methods available for measuring reliability Each method has its strengths and weaknesses At this time, no one method is superior

Questions

References Ganesh, Pai. Survey of Software Reliability Models. Fall 2002. Korver, Brian. The Monte Carlo Method and Software Reliability Theory. Portland State University Computer Science, Portland Oregan, 1994. Lyu, Michael R, Editor. Handbook of Software Reliability Engineering. IEEE Computer Society Press, McGraw-Hill, 1996. Mladen, Vouk A. Software Reliability Engineering. Tutorial Presented at Annual Reliability and Maintenance Symposium, 1998. Pham, Hoang. Software Reliability. Springer-Verlag, 2000.