Copyright 1999-2010 USC-CSSE 1 Quality Management – Lessons of COQUALMO (COnstructive QUALity MOdel) A Software Defect Density Prediction Model AWBrown.

Slides:



Advertisements
Similar presentations
Test Yaodong Bi.
Advertisements

SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Software Quality Assurance Plan
Empirical Research at USC-CSE Barry Boehm, USC-CSE ISERN Presentation October 8, 2000
May 18, 2004CS WPI1 CS 562 Advanced SW Engineering Lecture #6 Tuesday, May 18, 2004.
Cocomo II Constructive Cost Model [Boehm] Sybren Deelstra.
University of Southern California Center for Systems and Software Engineering ©USC-CSSE1 Ray Madachy, Ricardo Valerdi USC Center for Systems and Software.
Software Quality Engineering Roadmap
March 2002 COSYSMO: COnstructive SYStems Engineering Cost MOdel Ricardo Valerdi USC Annual Research Review March 11, 2002.
Prediction Basic concepts. Scope Prediction of:  Resources  Calendar time  Quality (or lack of quality)  Change impact  Process performance  Often.
A GOAL-BASED FRAMEWORK FOR SOFTWARE MEASUREMENT
University of Southern California Center for Systems and Software Engineering ©USC-CSSE1 Ray Madachy, Barry Boehm USC Center for Systems and Software Engineering.
University of Southern California Center for Systems and Software Engineering 1 © USC-CSSE A Constrained Regression Technique for COCOMO Calibration Presented.
Ray. A. DeCarlo School of Electrical and Computer Engineering Purdue University, West Lafayette, IN Aditya P. Mathur Department of Computer Science Friday.
University of Southern California Center for Software Engineering CSE USC USC-CSE Annual Research Review COQUALMO Update John D. Powell March 11, 2002.
Software project management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.
1 Simulation Modeling and Analysis Verification and Validation.
© USC-CSE1 Determine How Much Dependability is Enough: A Value-Based Approach LiGuo Huang, Barry Boehm University of Southern California.
Measuring process attributes. Good Estimates Predictions are needed for software development decision-making (figure 12.1) A prediction is useful only.
16/27/2015 3:38 AM6/27/2015 3:38 AM6/27/2015 3:38 AMTesting and Debugging Testing The process of verifying the software performs to the specifications.
© USC-CSE Feb Keun Lee ( & Sunita Chulani COQUALMO and Orthogonal Defect.
1 Discussion on Reuse Framework Jared Fortune, USC Ricardo Valerdi, MIT COSYSMO COCOMO Forum 2008 Los Angeles, CA.
Expert COSYSMO Update Raymond Madachy USC-CSSE Annual Research Review March 17, 2009.
University of Southern California Center for Systems and Software Engineering © 2009, USC-CSSE 1 Reuse and Maintenance Estimation Vu Nguyen March 17, 2009.
University of Southern California Center for Systems and Software Engineering ©USC-CSSE1 Ray Madachy USC Center for Systems and Software Engineering
Software Engineering Tools and Methods Presented by: Mohammad Enamur Rashid( ) Mohammad Rashim Uddin( ) Masud Ur Rahman( )
Introduction to Software Testing
Software Verification and Validation (V&V) By Roger U. Fujii Presented by Donovan Faustino.
Chapter 23 – Project planning Part 2. Estimation techniques  Organizations need to make software effort and cost estimates. There are two types of technique.
1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
Expert System Presentation On…. Software Certification for Industry - Verification and Validation Issues in Expert Systems By Anca I. Vermesan Presented.
Dr Andy Brooks1 FOR0383 Software Quality Assurance Lecture 1 Introduction Forkröfur/prerequisite: FOR0283 Programming II Website:
A Brief Introduction to COCOMO Hossein Saiedian EECS810: Software Engineering.
T. E. Potok - University of Tennessee CS 594 Software Engineering Lecture 3 Dr. Thomas E. Potok
© USC-CSE 2001 Oct Constructive Quality Model – Orthogonal Defect Classification (COQUALMO-ODC) Model Keun Lee (
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Chapter 19 Verification and Validation.
University of Southern California Center for Systems and Software Engineering Vu Nguyen, Barry Boehm USC-CSSE ARR, May 1, 2014 COCOMO II Cost Driver Trends.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 2.
1 Chapter 3 1.Quality Management, 2.Software Cost Estimation 3.Process Improvement.
Chapter 3: Software Project Management Metrics
Ch-1 Introduction The processes used for executing a software project have major effect on quality of s/w produced and productivity achieved in project…
University of Southern California Center for SoftwareEngineering Reliable Software Research and Technology Transition Barry Boehm, USC NASA IT Workshop.
University of Southern California Center for Systems and Software Engineering © 2010, USC-CSSE 1 Trends in Productivity and COCOMO Cost Drivers over the.
Center for Reliability Engineering Integrating Software into PRA B. Li, M. Li, A. Sinha, Y. Wei, C. Smidts Presented by Bin Li Center for Reliability Engineering.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
University of Southern California Center for Systems and Software Engineering Reducing Estimation Uncertainty with Continuous Assessment: Tracking the.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
The COCOMO model An empirical model based on project experience. Well-documented, ‘independent’ model which is not tied to a specific software vendor.
Rating Very Very Extra Cost Drivers Low Low Nominal High High High Product Attributes Required software reliability Database size.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
Testing and Evaluating Software Solutions Introduction.
University of Southern California Center for Systems and Software Engineering Reducing Estimation Uncertainty with Continuous Assessment Framework Pongtip.
DevCOP: A Software Certificate Management System for Eclipse Mark Sherriff and Laurie Williams North Carolina State University ISSRE ’06 November 10, 2006.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
COCOMO Software Cost Estimating Model Lab 4 Demonstrator : Bandar Al Khalil.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Constructive Cost Model
COCOMO II Security Extension Workshop Report
Introduction to Software Testing
Personal Software Process Software Estimation
Chapter 13 Quality Management
Quality Management, Peer Review, & Architecture Review Board
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Peer Reviews A. Winsor Brown Jan. 13, 2010
Chapter 26 Estimation for Software Projects.
Presentation transcript:

Copyright USC-CSSE 1 Quality Management – Lessons of COQUALMO (COnstructive QUALity MOdel) A Software Defect Density Prediction Model AWBrown and Sunita Chulani, Ph.D. Presented by Marilee Wheaton

Copyright USC-CSSE 2 Outline Behavioral Underpinnings Hidden Factory Defect Types COQUALMO Framework The Defect Introduction Sub-Model –Expert-Judgment Model + Some Initial Data Results The Defect Removal Sub-Model –Expert-Judgment Model (Result of COQUALMO Workshop) COQUALMO Integrated with COCOMO II

Copyright USC-CSSE 3 USC Modeling Methodology

Copyright USC-CSSE 4 Delphi Assessment Ask each expert the range for driver –Apply personal experience, –Look at completed projects, –Guess (WAG), Collect and share in a meeting: discuss why/how different people made their estimate Repeat until no changes Final values (for each parameter) Max=(Hmax + 4*AVEmax + Lmax)/6

Copyright USC-CSSE 5 Adding Project Data Effort Adjustment Multipliers (typical) –Linear Regression

Copyright USC-CSSE 6 Fig 11., Pg 170 SwCEwCII a posteiori Baysian Update Used to combine expert judgement with sampled data: spread of datasets weights combination

Copyright USC-CSSE 7 Outline Model Framework *The Defect Introduction Sub-Model –Expert-Judgment Model + Some Initial Data Results The Defect Removal Sub-Model –Expert-Judgment Model (Result of COQUALMO Workshop) COQUALMO Integrated with COCOMO II

Copyright USC-CSSE 8 COQUALMO Model Framework

Copyright USC-CSSE 9 Software Devel. Process(es) (cont.) : the hidden factory

Copyright USC-CSSE 10 Outline Model Framework *The Defect Introduction Sub-Model –Expert-Judgment Model + Some Initial Data Results The Defect Removal Sub-Model –Expert-Judgment Model (Result of COQUALMO Workshop) COQUALMO Integrated with COCOMO II

Copyright USC-CSSE 11 The Defect Introduction (DI) Sub-Model Software Size estimate Software product, process, computer and personnel attributes (subset of COCOMO II factors) Defect Introduction Sub-Model Number of non-trivial requirements, design and code defects introduced

Copyright USC-CSSE 12 A-Priori Expert-Judgment Based Code DI Ranges

Copyright USC-CSSE 13 DI Model Equations For each artifact j, Quality Adjustment Factor (QAF) Estimated Number of Defects Introduced =

Copyright USC-CSSE 14 Initial Data Analysis on the DI Model DIR = Defect Introduction Rate

Copyright USC-CSSE 15 Outline Model Framework The Defect Introduction Sub-Model –Expert-Judgment Model + Some Initial Data Results *The Defect Removal Sub-Model –Expert-Judgment Model (Result of COQUALMO Workshop) COQUALMO Integrated with COCOMO II

Copyright USC-CSSE 16 Defect Removal Sub-Model Defect removal activity levels Number of non-trivial requirements, design and coding defects introduced Number of residual defects/ unit of size Software Size Estimate The Defect Removal (DR) Sub-Model

Copyright USC-CSSE 17 Defect Removal Profiles 3 relatively orthogonal profiles –Automated Analysis –People Reviews –Execution Testing and Tools Each profile has 6 levels –Very Low, Low, Nominal, High, Very High, Extra High Very Low--removes the least number of defects Extra High--removes the most defects

Copyright USC-CSSE 18 Automated Analysis

Copyright USC-CSSE 19 Static [Module-Level Code] Analysis "Static code analysis is the analysis of computer software that is performed without actually executing programs built from that software (analysis performed on executing programs is known as dynamic analysis). In most cases the analysis is performed on some version of the source code and in the other cases some form of the object code. "*softwaredynamic analysissource codeobject code *

Copyright USC-CSSE 20 Static [Module-Level Code] Analysis SWEBOK [sans references] "4.2. Quality Analysis and Evaluation Techniques Various tools and techniques can help ensure a software design’s quality. "Software design reviews : informal or semiformal, often group-based, techniques to verify and ensure the quality of design artifacts (for example, architecture reviews, design reviews and inspections, scenario-based techniques, requirements tracing) "Static analysis : formal or semiformal static (nonexecutable) analysis that can be used to evaluate a design (for example, fault-tree analysis or automated cross-checking) "Simulation and prototyping : dynamic techniques to evaluate a design (for example, performance simulation or feasibility prototype)" * Software Engineering Body of Knowledge. Alain Abran, et al., Swebok_Ironman_June_23_ 2004.pdf, pg 54

Copyright USC-CSSE 21 Peer Reviews

Copyright USC-CSSE 22 Syntactic Versus Semantic Checking Both sentences below are semantically correct, only one is semantically correct. A panda enters the bar, eats shoots and leaves. A panda enters the bar, eats, shoots and leaves.

Copyright USC-CSSE 23 Execution Testing and Tools

Copyright USC-CSSE 24 Technique Selection Guidance “Under specified conditions, …” Peer reviews are more effective than functional testing for faults of omission and incorrect specification (UMD, USC) Functional testing is more effective than reviews for faults concerning numerical approximations and control flow (UMD, USC)

Copyright USC-CSSE 25 Residual Defects Equation Estimated Number of Residual Defects DRes Est, j = Estimated No. of Residual Defects for the j th artifact C j = Calibration Constant for the j th artifact DI Est, j = Estimated No. of Defects Introduced for the j th artifact (output of DI Sub-Model) i = Defect Removal profile DRF ij = Defect Removal Fraction 3 i=1

Copyright USC-CSSE 26 Defect Densities from Expert- Judgment Calibrated COQUALMO

Copyright USC-CSSE 27 Validation of Defect Densities Average defect density using Jones’ data weighted by CMM maturity level distribution of 542 organizations is 13.9 defects/kSLOC Average defect density using COQUALMO is 14.3 defects/kSLOC Residual defect density from Jones’ data (.135* * *18.3) = 13.9 defects/kSLOC

Copyright USC-CSSE 28 An Independent Validation Study Aim: To validate expert-determined COQUALMO has correct trends in defect rates Sample Project: Size = kSLOC Actual Defect Density = 6 defects/kSLOC

Copyright USC-CSSE 29 Outline Model Framework The Defect Introduction Sub-Model –Expert-Judgment Model + Some Initial Data Results The Defect Removal Sub-Model –Expert-Judgment Model (Result of COQUALMO Workshop) *COQUALMO Integrated with COCOMO II

Copyright USC-CSSE 30 Integrated COQUALMO