A Population Size Estimation Problem Eliezer Kantorowitz Software Engineering Department Ort Braude College of Engineering

Slides:



Advertisements
Similar presentations
SADC Course in Statistics General approaches to sample size determinations (Session 12)
Advertisements

5/2008Copyright 2008 Eliezer Kantorowitz1 Estimating the Required Number of Software Code Inspectors E. Kantorowitz Software Engineering Dept., Ort Braude.
Harvard Center for Population and Development Studies1 Census Editing and the Art of Motorcycle Maintenance Michael J. Levin Center for Population and.
Sta220 - Statistics Mr. Smith Room 310 Class #14.
Quality Assurance (Quality Control)
Statistics for Business and Economics
Statistics for Business and Economics
SOFTWARE QUALITY ASSURANCE Maltepe University Faculty of Engineering SE 410.
Chapter 7 Introduction to Sampling Distributions
Improving Process for Better Software. Who We Are An experiential learning program that provides technology solutions for our partners, and real- world.
Computational Methods for Management and Economics Carla Gomes Module 3 OR Modeling Approach.
1 Learning Entity Specific Models Stefan Niculescu Carnegie Mellon University November, 2003.
Chapter 9 Audit Sampling: An Application to Substantive Tests of Account Balances McGraw-Hill/Irwin ©2008 The McGraw-Hill Companies, All Rights Reserved.
Quality is about testing early and testing often Joe Apuzzo, Ngozi Nwana, Sweety Varghese Student/Faculty Research Day CSIS Pace University May 6th, 2005.
1 Validation and Verification of Simulation Models.
CSC 395 – Software Engineering Lecture 9: Testing -or- How I Stopped Worrying and Learned to Love the Bug.
QMS 6351 Statistics and Research Methods Chapter 7 Sampling and Sampling Distributions Prof. Vera Adamchik.
“Teach A Level Maths” Statistics 1
Audit Sampling: An Overview and Application to Tests of Controls
Software Quality Assurance
Getting Started with Hypothesis Testing The Single Sample.
Verification and Validation
Logical Database Design Nazife Dimililer. II - Logical Database Design Two stages –Building and validating local logical model –Building and validating.
1 1 Slide © 2008 Thomson South-Western. All Rights Reserved Slides by JOHN LOUCKS & Updated by SPIROS VELIANITIS.
1  The goal is to estimate the error probability of the designed classification system  Error Counting Technique  Let classes  Let data points in class.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
HAWKES LEARNING SYSTEMS Students Matter. Success Counts. Copyright © 2013 by Hawkes Learning Systems/Quant Systems, Inc. All rights reserved. Section 10.2.
1 Validation & Verification Chapter VALIDATION & VERIFICATION Very Difficult Very Important Conceptually distinct, but performed simultaneously.
Chapter 7 Sampling and Sampling Distributions Sampling Distribution of Sampling Distribution of Introduction to Sampling Distributions Introduction to.
Chapter 9 Audit Sampling: An Application to Substantive Tests of Account Balances This presentation focuses (like my course) on MUS. It omits the effect.
A Taxonomy of Evaluation Approaches in Software Engineering A. Chatzigeorgiou, T. Chaikalis, G. Paschalidou, N. Vesyropoulos, C. K. Georgiadis, E. Stiakakis.
1 1 Slide © 2008 Thomson South-Western. All Rights Reserved Slides by JOHN LOUCKS St. Edward’s University.
Chapter 8 Introduction to Hypothesis Testing
What Do We Know about Defect Detection Methods P. Runeson et al.; "What Do We Know about Defect Detection Methods?", IEEE Software, May/June Page(s):
Audit Sampling: An Overview and Application to Tests of Controls
Audit Sampling: An Overview and Application to Tests of Controls
Inspection of Marketing Requirements Document This presentation shows how to carry out a one-half hour inspection with senior managers. The purpose is.
Confidence Mika Raivio Agenda Measuring and testing for confidence Confidence in capturing variability Problems with sampling Confidence.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
System Descriptions. What we will do today… Today, we will describe the billing and cash receipts systems of a simple company The points to think about.
Estimation: Confidence Intervals Based in part on Chapter 6 General Business 704.
What Is Statistics Chapter 01 McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved.
1 Chapter 3 1.Quality Management, 2.Software Cost Estimation 3.Process Improvement.
Chapter 12: Software Inspection Omar Meqdadi SE 3860 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin 8-1 Chapter Eight Audit Sampling: An Overview and Application.
An approach for Framework Construction and Instantiation Using Pattern Languages Rosana Teresinha Vaccare Braga Paulo Cesar Masiero ICMC-USP: Institute.
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 13 Collecting Statistical Data 13.1The Population 13.2Sampling.
Lecture 23: Quantitative Traits III Date: 11/12/02  Single locus backcross regression  Single locus backcross likelihood  F2 – regression, likelihood,
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Advances In Software Inspection
Sporadic model building for efficiency enhancement of the hierarchical BOA Genetic Programming and Evolvable Machines (2008) 9: Martin Pelikan, Kumara.
David M. Kroenke and David J. Auer Database Processing Fundamentals, Design, and Implementation Appendix B: Getting Started in Systems Analysis and Design.
Statistics for Business and Economics 8 th Edition Chapter 7 Estimation: Single Population Copyright © 2013 Pearson Education, Inc. Publishing as Prentice.
Sampling Analysis. Statisticians collect information about specific groups through surveys. The entire group of objects or people that you want information.
Estimation and Confidence Intervals. Sampling and Estimates Why Use Sampling? 1. To contact the entire population is too time consuming. 2. The cost of.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
Testability.
Audit Sampling: An Overview and Application
Audit Sampling: An Overview and Application to Tests of Controls
Double and Multiple Sampling Plan
Chapter 9 Audit Sampling: An Application to Substantive Tests of Account Balances McGraw-Hill/Irwin ©2008 The McGraw-Hill Companies, All Rights Reserved.
CSC 480 Software Engineering
Discussions on Software Reliability
Estimating Populations
Lecture 09:Software Testing
Lecture 7 Sampling and Sampling Distributions
ANALYSIS OF POSSIBILITY TO USE TAX AUTHORITY DATA IN STS. RESULTS
Test Cases, Test Suites and Test Case management systems
AUDIT TESTS.
STATISTICS derived from the Latin word STATUS, Italian word STATISTA, German word STATISTIK, and French word STATISTIQUE which express one meaning “ Political.
Presentation transcript:

A Population Size Estimation Problem Eliezer Kantorowitz Software Engineering Department Ort Braude College of Engineering

Eliezer Kantorowitz2 Table of Contents The problem Capture Recapture Estimators Estimating number of software defects Defect injection estimators Our experiments Our estimator Conclusions and Research plans

Eliezer Kantorowitz3 Estimating Population Size Two steps 1.Make an observation 2.Employ an estimator on the number of observed items Example: Industrial quality assurance 1.Count the number of defects in a sample 2.Estimate the defect population size from the defects counted in the sample

Eliezer Kantorowitz4 Partial Observation Methods A Partial Observation Methods is an observation method that do not produce a count all the relevant items Example: Due to poor lighting, some of the defect items in the sample cannot be seen

Eliezer Kantorowitz5 This talk is about estimators applicable when using partial observation methods

Eliezer Kantorowitz6 Table of Contents The problem Capture Recapture Estimators Estimating number of software defects Defect injection estimators Our experiments Our estimator Conclusions and Research plans

Eliezer Kantorowitz7 Counting Wild Animals Capture Recapture Estimators Example: Counting the gazelle population in upper Galilee Problem: We can only observe a part of the n members of the gazelle population Solution: We capture n tag gazelles in a trap. The gazelles are tagged and freed We assume that the freed gazelles are evenly mixed with the remaining n-n tag gazelles

Eliezer Kantorowitz8 Capture Recapture (CR) - 2 We put a new trap and capture m gazelles of which m tag are recaptured gazelles The gazelle population size n may be estimated as assuming

Eliezer Kantorowitz9 Capture Recapture (CR) -3 A number of different CR estimators corresponding to different sets of assumptions have been developed The essence of CR is that we enter (inject) a KNOWN number of tagged animals into the unknown number of animals. This known number can be employed in later statistical analysis

Eliezer Kantorowitz10 Table of Contents The problem Capture Recapture Estimators Estimating number of software defects Defect injection estimators Our experiments Our estimator Conclusions and Research plans

Problem discussed in the following : Estimating the Number of Defects in Software Users Requirements Document (URD)

Eliezer Kantorowitz12 Users Requirements Document (URD) Prepared by software analysts and users Part of software ordering contract In one case 55% of all defects (“bugs”) were URD defects URD validation usually done by inspection

Eliezer Kantorowitz13 Example: a URD used in ourexperiments PURPOSE Manage a costume shop, which rents and sells costumes. Control the inventory and customer databases. Manage orders and invoices. CUSTOMER DATABASE - SYSTEM ACTIVITIES Enter new customers. Automatic updates of the customer ’ s database. List of customers active over the last three years. List of customers ordered by the age of the children. List of customers ordered by their purchase and rental transactions.

Eliezer Kantorowitz14 URD validation Usually done by inspection

Eliezer Kantorowitz15 Inspection Method (Fagan 1986) The inspected document is presented by its originator to a team of human inspectors Each inspector inspects the entire document and records the found defects Meeting of all inspectors, where defects found by different inspectors are checked and combined into one list

Eliezer Kantorowitz16 Inspection Problem Usually an inspector sees only a part of all defects Different inspectors usually see different sets of defects A team of j+1 inspectors usually detects more defects than a team of j inspectors Inspection costs proportional to j

Eliezer Kantorowitz17 Fault Detection Ratio (FDR) as Function of Inspector Team Size FDR=(number detected faults)/(total number of faults)

Eliezer Kantorowitz18 Using Capture Recapture (CR) CR was adapted to the inspection problem Defects detected by more than one inspector play a similar role to that of recaptured gazelles Extensive experiments suggest that CR is not providing sufficient accurate estimates

Eliezer Kantorowitz19 Table of Contents The problem Capture Recapture Estimators Estimating number of software defects Defect injection estimators Our experiments Our estimator Conclusions and Research plans

Eliezer Kantorowitz20 Defect Injection In CR methods we freed a KNOWN number of tagged animals In defect injection methods we enter (inject) a KNOWN number of defects into the document

Eliezer Kantorowitz21 Defect Injection Method n injected – number of injected defects n injected-detected – number of detected injected defects n real - number of real defects (the unknown) n detected-real – number of detected real defects Estimated number or real defects: n real = n detected-real (n injected / n injected-detected )

Eliezer Kantorowitz22 Problems of Defect Injection The injected defects must “represent” the real defects “correctly”

Eliezer Kantorowitz23 Defect Types Distribution

Eliezer Kantorowitz24 Examples of Injected Defects Inconsistent Information Lists of customers entered by different techniques that contradict each other (lines 3 and 26). Cancellation of an order that was reserved is illegal (lines 28 and 32). The systems do not keep customer data for more than three years (lines 5 and 10). There is not enough information about the customers in the system (lines 6 and 10). An article that was reserved cannot be sold. (lines 27 and 33). Missing functionality: … Missing information: …

Eliezer Kantorowitz25 Defect Injection Summary Common method for software documents Sufficient accurate estimates Difficult to produce “representative” defects Laborious

Eliezer Kantorowitz26 Table of Contents The problem Capture Recapture Estimators Estimating number of software defects Defect injection estimators Our experiments Our estimator Conclusions and Research plans

Eliezer Kantorowitz27 The Experimentators Eliezer Kantorowitz Arie Guttman Lior Arzi Assaf Harel

Eliezer Kantorowitz28 Experiments - 1 Computer Science students at Technion –250 freshmen –69 senior Industry engineers –25 engineers Two experiments from literature –57 senior Computer Science students All together 401 persons involved

Eliezer Kantorowitz29 Experiments - 2 Employed requirements documents –Costume shop information system –Missile launcher –Railroad system (in experiments from litterature) Data of good quality –401 persons –Careful preparation

Eliezer Kantorowitz30 Typical Results Y axis is the number of inspectors that detected the different defects. The two “ easiest to detect ” defects were detected by 6 inspectors each

Eliezer Kantorowitz31 Table of Contents The problem Capture Recapture Estimators Estimating number of software defects Defect injection estimators Our experiments Our estimator Conclusions and Research plans

Eliezer Kantorowitz32 The Model - 1 i (fault number) P 0,1 1 n max n-1 0 P i,1 (probability that fault i is detected by 1 inspector) The linearity assumption

Eliezer Kantorowitz33 The Model - 2 The linearity assumption P i,1 - probability that one inspector detects defect i. n max – defects 0 ≤ i <n max can be detected

Eliezer Kantorowitz34 The Model - 3 P 0,1 - The probability that one inspector detects the “easiest to detect” defect P 0,1 ε[0,1] - A measure of the ease of detection FDR max – The inspectors are able to detect the proportion FDR max of the n defects, i.e. FDR max n defects FDR max ε[0,1] – a measure of the domain knowledge of the inspectors

Eliezer Kantorowitz35 The Model – 4 The probability that j inspectors will detect defect i may be estimated: j inspectors are expected to detect FDR(j)n defects : For n →∞

Eliezer Kantorowitz36 Kantorowitz Estimator Example of application: A quality assurance manager can employ this estimator to estimate the number of inspectors j required to detect the proportion FDR(j) of all faults. The coefficients FDR max and P 0,1 must somehow be estimated This estimator is implicitly the cost function required in a Total Quality Management (TQM). The number of inspectors j represent the costs, while FDR(j) represents the quality

Eliezer Kantorowitz37 Application example: What is the optimal inspector team size? Teams of 2 detects the largest number of defects per inspector

Eliezer Kantorowitz38 Application example: Comparing Engineers with Students P 0, st year Students Industry Engineers Experiment with Missile launcher user requirements document Example: 4 student teams achieve FDR=053 while only two engineer teams do FDR=0.54, i.e. an engineer detected about twice as many defects as a student max FDR

Eliezer Kantorowitz39 Summary of my estimator Based on a property of the data observed in a large number of experiments The estimator was derived by modeling the observed property of the data Sufficient accurate Measuring the two coefficients of the model P 0,1 and FDR max is laborious, however, their numerical values may be estimated from similar cases

Eliezer Kantorowitz40 Table of Contents The problem Capture Recapture Estimators Estimating number of software defects Defect injection estimators Our experiments Our estimator Conclusions and Research plans

Eliezer Kantorowitz41 Surveyed Estimators for the incomplete Counting Problem Capture Recapture Defect Injection My estimator

Eliezer Kantorowitz42 My Estimator vs. Capture Recapture Estimators Our estimator was sufficient accurate for estimating the number of defects in use requirements documents, while the CR estimators were not sufficient accurate Were the data in the extensive CR experiments of sufficient good quality?

Eliezer Kantorowitz43 Why did My Estimator Work My estimator exploited a property of the data (the linearity assumption) The property was detected through careful extensive experimentation

Eliezer Kantorowitz44 Looking for Similar Applications Can the approach of this research be useful in other areas where the employed observation method only count part of the relevant items?