Methods for Estimating Defects Catherine V. Stringfellow Mathematics and Computer Science Department New Mexico Highlands University October 20, 2000.

Slides:



Advertisements
Similar presentations
MARK RECAPTURE Lab 10 Fall Why?  We have 4 goals as managers of wildlife  Increase a population  Decrease a population  Maintain a population.
Advertisements

Lecture 8: Testing, Verification and Validation
Reliability Engineering (Rekayasa Keandalan)
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
LaQuSo is an activity of Technische Universiteit Eindhoven Confidence intervals in software reliability testing Confidence intervals in software reliability.
Presentation of the Quantitative Software Engineering (QuaSE) Lab, University of Alberta Giancarlo Succi Department of Electrical and Computer Engineering.
Critical Systems Validation CIS 376 Bruce R. Maxim UM-Dearborn.
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
A Unified Scheme of Some Nonhomogenous Poisson Process Models for Software Reliability Estimation C. Y. Huang, M. R. Lyu and S. Y. Kuo IEEE Transactions.
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 Summarizing Performance Data Confidence Intervals Important Easy to Difficult Warning: some mathematical content.
Swami NatarajanJune 17, 2015 RIT Software Engineering Reliability Engineering.
Selecting a defect model for maintenance resource planning and software insurance Paul Li Carnegie Mellon University
06/12/2007SE _6_12_Design.ppt1 Design Phase Outputs: Completed & Inspected SDS & Integration Test Plan Completed & Inspected System Test Plan.
A Population Size Estimation Problem Eliezer Kantorowitz Software Engineering Department Ort Braude College of Engineering
Testing Metrics Software Reliability
1 Fundamentals of Reliability Engineering and Applications Dr. E. A. Elsayed Department of Industrial and Systems Engineering Rutgers University
Software Testing and QA Theory and Practice (Chapter 15: Software Reliability) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory and Practice.
Overview Software Quality Assurance Reliability and Availability
S Neuendorf 2004 Prediction of Software Defects SASQAG March 2004 by Steve Neuendorf.
1 NASA OSMA SAS02 Software Reliability Modeling: Traditional and Non-Parametric Dolores R. Wallace Victor Laing SRS Information Services Software Assurance.
Chapter 22. Software Reliability Engineering (SRE)
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.
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.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
ECE 355: Software Engineering
Introduction to plausible values National Research Coordinators Meeting Madrid, February 2010.
Achieving Better Reliability With Software Reliability Engineering Russel D’Souza Russel D’Souza.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 15 Software Reliability
Lecture 1 What is Modeling? What is Modeling? Creating a simplified version of reality Working with this version to understand or control some.
Validation Metrics. Metrics are Needed to Answer the Following Questions How much time is required to find bugs, fix them, and verify that they are fixed?
Software Reliability SEG3202 N. El Kadri.
TESTING PRINCIPLES BY K.KARTHIKEYAN. PRINCIPLES Principle 1. Testing is the process of exercising a software component using a selected set of test cases,
Lead from the front Texas Nodal 1 EDS 3 Release 5: SCED Phase 1 Testing Aug 14, 2007.
Generic Approaches to Model Validation Presented at Growth Model User’s Group August 10, 2005 David K. Walters.
Biostatistics, statistical software VII. Non-parametric tests: Wilcoxon’s signed rank test, Mann-Whitney U-test, Kruskal- Wallis test, Spearman’ rank correlation.
Chin-Yu Huang Department of Computer Science National Tsing Hua University Hsinchu, Taiwan Optimal Allocation of Testing-Resource Considering Cost, Reliability,
1 Introduction to Software Testing. Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 1 2.
Software Reliabilty1 Software Reliability Advanced Software Engineering COM360 University of Sunderland © 1998.
Computational Intelligence: Methods and Applications Lecture 16 Model evaluation and ROC Włodzisław Duch Dept. of Informatics, UMK Google: W Duch.
Reliability Failure rates Reliability
1 Summarizing Performance Data Confidence Intervals Important Easy to Difficult Warning: some mathematical content.
“How to Measure the Impact of Specific Development Practices on Fielded Defect Density” by Ann Marie Neufelder Presented by: Feride Padgett.
Carnegie Mellon Software Engineering Institute © 2006 by Carnegie Mellon University Software Process Performance Measures James Over Software Engineering.
We’ve learned:. What’s next We will look at some examples and you can guess!
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
2007 MIT BAE Systems Fall Conference: October Software Reliability Methods and Experience Dave Dwyer USA – E&IS baesystems.com.
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.
Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M00 - Version 7.09 SMU CSE 8314 Software Measurement.
Main Title Slide Software Reliability Estimates/ Projections, Cumulative & Instantaneous - Dave Dwyer With help from: Ann Marie Neufelder, John D. Musa,
Chapter 8 Estimating Population Size: Capture-Recapture Model Examples: Estimating number of blue whales Estimating number of fish in a lake Estimating.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
Week#3 Software Quality Engineering.
Slide (Ch.22) 1 Tian: Software Quality Engineering Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement Jeff Tian Chapter.
Software Metrics and Reliability
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
CSCE 548 Secure Software Development Risk-Based Security Testing
Software Reliability PPT BY:Dr. R. Mall 7/5/2018.
IT6004 – SOFTWARE TESTING.
Types of Testing Visit to more Learning Resources.
Chapter 9: Class Tournament
Software Reliability Models.
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Estimating the number of components with defects post-release that showed no defects in testing C. Stringfellow A. Andrews C. Wohlin H. Peterson Jeremy.
Confidence intervals in software reliability testing
© Oxford University Press All rights reserved.
Presentation transcript:

Methods for Estimating Defects Catherine V. Stringfellow Mathematics and Computer Science Department New Mexico Highlands University October 20, 2000

Problem and Questions To improve the efficiency of system testing by helping testers determine when to stop testing and release software. When should testers stop testing without sacrificing effectiveness? Can defect estimations be used to make release decisions?

Data available in defect database release name phase defect reported component name date defect reported and much more

Approach  Estimate number of remaining components with defects using: Capture-Recapture Methods Curve-Fitting Methods Experience-Based Methods  Estimate number of remaining failures using: SRGM Selection Method  Compare estimates to acceptability thresholds to make release decisions

Estimating Components with Defects in Post- Release, but not in Test  Capture/recapture Methods  Curve Fitting Models  Experience-based Estimation Method (Uses historical data in the estimation)

Capture/Recapture Methods  Derived from Wildlife Biological Models  Software Defect Estimation Models Use multiple independent reviewers to count faults (instead of animals) A reviewer captures a certain fault and other reviewers who identify same fault are said to “recapture it”

Capture/Recapture x x x x x x x x x x x x x x x  Model requires an overlap if most overlap, few remaining (unless MANY found) if few overlap, many remaining

Five CRC Estimation Methods  M0ML  MTML  MTChpm (for two reviewers)  MHJK  MthChao

Models’ Assumptions Detection probabilities Defect number Detection probabilities Defect number Detection probabilities Defect number

CRC with MtML Example Estimated Remaining is = 5 Correct remaining = 8 MLE method tends to underestimate

Curve Fitting Models  Detection Profile Method (fit with decreasing exp curve)  Cumulative Method (fit with increasing exponential curve) Estimated # total defects is smallest x-value with y-value <= 0.5 Estimate is x-value at which exp function is asymptotic

Sample Data

DPM Curve Fitting Example DPM Estimate: approximately 8 remaining Correct Answer: 8

Results (3 sites) Ranks:

SRGMs  Some Models’ Assumptions Test according to operational profile. Failure rate proportional to number of failures remaining. Defect repair is immediate. Defect repair is perfect. No new code is introduced during the test period.

SRGMs in practice  Assumptions violated.  Previous studies show SRGMs are robust: SRGMs perform well in predicting failure rates.

SRGMs  Exponential Model (Musa’s)  Delayed S-shaped  Gompertz curve  Yamada Exponential  Yamada Raleigh

Release 1

Release 2

Release 3

SRGM Selection Method

Integrating Estimation Methods  Logical AND: all methods must say stop  Sequential If mhjk says stop, stop. Else if SRGM selection method and one other method says stop, stop. Else if at least one of the following methods, m0ml, mtml, dpm(linear), AND the experienced-based method say stop, stop. Else continue.

Integrating Estimation Methods  Majority Group m0ml, mtml, dpm(linear) together. If one says stop, stop. In case of tie:  a) continue test for another week; or  b) compare number of defects in last week to  acceptability threshold (5)

Contributions  CRC/Curve-fitting methods applied in new way test sites vs reviewers test vs inspection defective components vs defects case study vs simulation or experiment  Simple experienced-based method

Contributions  SRGM selection method  Using defect estimations to make release decisions.  Combining methods to make decisions CRC/Curve-fitting/Experience-based/SRGM Selection methods -> release decisions based on defect estimations

Future Work  Evaluate methods on future releases of same project  Validate integrated method on other projects and in other environments to improve external validity of case study  Evaluate other methods to make release decisions Stopping Rules  Determination of parameters based on defect data