Assessing Quality Processes with ODC COQUALMO



Similar documents
The Economics of Software Reliability

Simulation for Business Value and Software Process/Product Tradeoff Decisions

The Dynamics of Software Testing

How Good Is the Software: A Review of Defect Prediction Techniques Brad Clark Dave Zubrow

Knowledge-Based Systems Engineering Risk Assessment

Defect Analysis and Prevention for Software Process Quality Improvement

Orthogonal Defect Classification in Agile Development

COCOMO-SCORM Interactive Courseware Project Cost Modeling

Dr. Barry W. Boehm USC Center for Software Engineering

A QUALITY-BASED COST ESTIMATION MODEL FOR THE PRODUCT LINE LIFE CYCLE

Cost Estimation for Secure Software & Systems

Cost Estimation Driven Software Development Process

ESTABLISHING A MEASUREMENT PROGRAM

Finally, Article 4, Creating the Project Plan describes how to use your insight into project cost and schedule to create a complete project plan.

Comparative Analysis of COCOMO II, SEER-SEM and True-S Software Cost Models

The COCOMO II Estimating Model Suite

Improving Software Project Management Skills Using a Software Project Simulator

INDEPENDENT VERIFICATION AND VALIDATION OF EMBEDDED SOFTWARE

Generation of an Error Set that Emulates Software Faults - Based on Field Data

The purpose of Capacity and Availability Management (CAM) is to plan and monitor the effective provision of resources to support service requirements.

Cost Drivers of a Parametric Cost Estimation Model for Data Mining Projects (DMCOMO)

Advanced Test Manager E-learning Course Outline

SoftwareCostEstimation. Spring,2012

Learning from Our Mistakes with Defect Causal Analysis. April Copyright 2001, Software Productivity Consortium NFP, Inc. All rights reserved.

System Engineering Data Repository

Software Verification for Space Applications Part 2. Autonomous Systems. G. Brat USRA/RIACS

E-COCOMO: The Extended COst Constructive MOdel for Cleanroom Software Engineering

TABLE 7-1. Software Reliability Prediction Techniques

Management. Project. Software. Ashfaque Ahmed. A Process-Driven Approach. CRC Press. Taylor Si Francis Group Boca Raton London New York

Network Security Project Management: A Security Policy-based Approach

Valuation of Software Intangible Assets

Modern Tools to Support DoD Software Intensive System of Systems Cost Estimation

EXHIBIT L. Application Development Processes

Incorporating Data Mining Techniques on Software Cost Estimation: Validation and Improvement

What We Have Learned About Fighting Defects

COMPARATIVE STUDY OF SOFTWARE TESTING TOOLS ON THE BASIS OF SOFTWARE TESTING METHODOLOGIES

Software Cost Estimation Metrics Manual for Defense Systems

USING DEFECT ANALYSIS FEEDBACK FOR IMPROVING QUALITY AND PRODUCTIVITY IN ITERATIVE SOFTWARE DEVELOPMENT

DOMAIN-BASED EFFORT DISTRIBUTION MODEL FOR SOFTWARE COST ESTIMATION. Thomas Tan

Moving from ISO9000 to the Higher Levels of the Capability Maturity Model (CMM)

Improving Software Development Economics Part I: Current Trends

Article 3, Dealing with Reuse, explains how to quantify the impact of software reuse and commercial components/libraries on your estimate.

SOFTWARE QUALITY & SYSTEMS ENGINEERING PROGRAM. Quality Assurance Checklist

SOFTWARE PROJECT MANAGEMENT

Handbook for Software Cost Estimation

A Study on Software Metrics and Phase based Defect Removal Pattern Technique for Project Management

An Intelligent Approach to Software Cost Prediction

International Journal of Information Technology & Computer Science ( IJITCS ) (ISSN No : ) Volume 5 : Issue on September / October, 2012

Implementation of ANSI/AAMI/IEC Medical Device Software Lifecycle Processes.

CSSE 372 Software Project Management: Managing Software Projects with Measures

Software Development Cost and Time Forecasting Using a High Performance Artificial Neural Network Model

REVIC 11: Converting the REVIC Model to COCOMO I1

A Survey of Plan-Driven Development Methodologies

Certified Tester. Advanced Level Overview

Software Quality Management

Module 11. Software Project Planning. Version 2 CSE IIT, Kharagpur

Software Quality Assurance Software Inspections and Reviews

Quality Management. Lecture 12 Software quality management

MSE Presentation 1 MultiAgent Control of Traffic Signals (MACTS)

Software Quality Assurance Plan

Measuring Return on Investment of Model-Based Design

FASTEMS SOFTWARE. For maximum Performance

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Simulations can be run at item and group level giving users flexibility. In brief

Introducing Root-Cause Analysis and Orthogonal Defect Classification at Lower CMMI Maturity Levels

A New Approach in Software Cost Estimation with Hybrid of Bee Colony and Chaos Optimizations Algorithms

II. TYPES OF LEVEL A.

Software Engineering. How does software fail? Terminology CS / COE 1530

An approach to Return on Investment (ROI) for Independent Verification and Validation (IV&V) at NASA

A Design Framework for Flexible Automated Warehouses

Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder

Cost Estimation Strategies COST ESTIMATION GUIDELINES

Project Risk Management: IV&V as Insurance for Project Success

JOURNAL OF MEDICAL INFORMATICS & TECHNOLOGIES Vol. 21/2012, ISSN

Classification of Defect Types in Requirements Specifications: Literature Review, Proposal and Assessment

Keywords Software Cost; Effort Estimation, Constructive Cost Model-II (COCOMO-II), Hybrid Model, Functional Link Artificial Neural Network (FLANN).

Unit 9: Software Economics

Transcription:

Assessing Quality Processes with ODC COQUALMO Ray Madachy, Barry Boehm USC {madachy, boehm}@usc.edu 2008 International Conference on Software Process May 10, 2008 USC-CSSE 1

Introduction Cost, schedule and quality are highly correlated factors in software processes. In recognition, the COnstructive QUALity MOdel (COQUALMO) was created to predict defects as an extension of the COCOMO II software cost model Supports cost/schedule/quality tradeoff analyses ODC COQUALMO is a further extension that predicts software defects introduced and removed classifying them with Orthogonal Defect Classification (ODC) defect types ODC COQUALMO is initially targeted to support critical NASA flight projects on the Constellation program * * This work was partially sponsored by NASA AMES Software Risk Advisory Tools Cooperative Agreement No. NNA06CB29A USC-CSSE 2

COQUALMO Background COQUALMO is a COCOMO extension that predicts the number of residual defects in a software product [Chulani, Boehm 1999] Uses COCOMO II cost estimation inputs with defect removal parameters to predict the numbers of generated, detected and remaining defects for requirements, design and code Enables 'what-if' analyses that demonstrate the impact of Defect removal techniques for automated analysis, peer reviews, and execution testing on defect types Effects of personnel, project, product and platform characteristics on software quality Provides insights into Assessment of payoffs for quality investments Understanding of interactions amongst quality strategies Probable ship time USC-CSSE 3

ODC COQUALMO Overview COQUALMO extensions to COCOMO II in red ODC additions in blue Software size Software product, process, platform and personnel attributes Defect removal capability levels Automated analysis Peer reviews Execution testing and tools COCOMO II ODC COQUALMO Defect Introduction Model Defect Removal Model Software development effort and schedule Defect density per unit of size Number of residual defects Requirements Correctness Completeness Consistency Ambiguity/Testability Design Interface Timing Class/Object/Function Method/Logic/Algorithm Data Values/Initialization Checking Code (same 6 types as Design) USC-CSSE 4

COQUALMO Defect Removal Rating Scales - Top Level Very Low Low Nominal High Very High Extra High Automated Analysis Simple compiler syntax checking Basic compiler capabilities Compiler extension Basic req. and design consistency More elaborate req./design Basic distprocessing Intermediatelevel module Simple req./design Formalized specification, verification. Advanced distprocessing Peer Reviews No peer review Ad-hoc informal walkthrough Well-defined preparation, review, minimal follow-up Formal review roles and Well-trained people and basic checklist Root cause analysis, formal follow Using historical data Extensive review checklist Statistical control Execution Testing and Tools No testing Ad-hoc test and debug Basic test Test criteria based on checklist Well-defined test seq. and basic test coverage tool system More advance test tools, preparation. Distmonitoring Highly advanced tools, modelbased test USC-CSSE 5

ODC Extension ODC COQUALMO decomposes defects using ODC categories [Chillarege et al. 1992] Enables tradeoffs of different detection efficiencies for the removal practices per type of defect The ODC taxonomy provides well-defined criteria for the defect types and has been successfully applied on NASA projects ODC defects are mapped to operational flight risks With more granular defect definitions, ODC COQUALMO enables tradeoffs of different detection efficiencies for the removal practices per type of defect. USC-CSSE 6

ODC Defect Categories Requirements Correctness Completeness Consistency Ambiguity/Testability Design/Code Interface Timing Class/Object/Function Method/Logic/Algorithm Data Values/Initialization Checking Data collection forms with detailed definitions and examples available from USC USC-CSSE 7

Defect Types Matter to User Aerobic Mode: 2 defects / 7 machines Running Mode: Biking Mode: 2 defects / 2 machines no defects affect operations USC-CSSE 8

Supports Value-Based Perspective Motivations V&V techniques have different detection efficiencies for different types of defects Effectiveness may vary over the lifecycle Different defect types have different flight risk impacts Scarce V&V resources to optimize V&V methods may have overlapping capabilities for detecting defects ODC COQUALMO with other tools can help quantify the best combination of V&V techniques, their optimal order and timing USC-CSSE 9

Complementary Risk Techniques V&V processes are designed and optimized with ODC COQUALMO by integrating it with different risk minimization techniques For NASA we have demonstrated linkage with machine learning [Menzies, Richardson 2005], strategic optimization and JPL s Defect Detection and Prevention (DDP) risk management method Can determine the impact of V&V techniques on specific risks and overall flight risk USC-CSSE 10

Defect Calibrations The initial ODC defect distribution pattern is per JPL rover studies [Lutz and Mikulski 2003] A rigorous two round Delphi survey was completed to quantify ODC defect detection efficiencies, gauging the effect of different defect removal techniques against the ODC categories (example defect detection efficiencies below) V&V Technique and Defect Type Very Low Low Nominal High Very High Extra High Automated Analysis Requirements Ambiguity/Testability 0.021 0.057 0.293 0.400 0.514 0.621 Completeness 0.014 0.079 0.314 0.400 0.500 0.593 Consistency 0.014 0.043 0.316 0.451 0.581 0.736 Correctness 0.007 0.086 0.279 0.386 0.486 0.571 Design/Code Checking 0.014 0.119 0.347 0.504 0.646 0.779 Class/Object/Function 0.064 0.197 0.330 0.470 0.589 0.707 Data Values/Initialization 0.086 0.246 0.371 0.533 0.656 0.743 Interface 0.043 0.159 0.296 0.430 0.544 0.636 USC-CSSE 11

Sample Defect Removal Profiles Defect Detection Efficiency (% of Defects Found) 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% Ambiguity/Testability Completeness Consistency Correctness Checking Class/Object/Function Data Values/Initialization Interface Method/Logic/Algorithm Timing Defect Detection Efficiency (% of Defects Found) 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% Ambiguity/Testability Completeness Consistency Correctness Checking Class/Object/Function Data Values/Initialization Interface Method/Logic/Algorithm Timing 0% Very Low Low Nominal High Very High Extra High Peer Reviews Rating 0% Very Low Low Nominal High Very High Extra High Execution and Tools Rating Note differences between methods for specific defect types (e.g. completeness, timing) USC-CSSE 12

ODC COQUALMO Inputs USC-CSSE 13

ODC COQUALMO Defect Outputs Type Requirements - Correctness Requirements - Completeness Requirements - Consistency Requirements - Ambiguity/Testability Requirements - Requirements Enhancement Design - Interface Design - Timing Design - Class/Object/Function Design - Method/Logic/Algorithm Effort and schedule outputs not shown # Defects 0 500 1000 1500 2000 2500 1501 1338 163 Introduced 653 582 Removed 71 Remaining 483 431 52 131 116 14 495 442 54 783 742 41 1566 1484 82 1566 1484 82 1174 1113 62 1957 USC-CSSE 14

Dynamic ODC COQUALMO Continuous simulation version using system dynamics models defect generation and detection rates over time Can be used for interactive training to assess decisions midstream or suitable for continuous usage on a project when updated with actuals completeness defect generation rate completeness defects completness defect detection rate completeness defects found requirements detection start time Portion for Requirements Completeness defects only requirements defect fraction total completeness defects requirements defect generation elaboration function requirements defect detection elaboration function requirements defect multiplier ~ completeness defect fraction automated analysis completeness defect detection efficiency ~ composite completness defect detection efficiency ~ execution testing and tools peer reviews completeness defect detection effic completeness defect detection efficiency ~ USC-CSSE 15 SLOC Automated Analysis Peer Reviews Execution Testing and Tools

Dynamic ODC COQUALMO Sample Output Effect on Code Timing Defects when applying increased V&V for Execution Testing and Tools at 18 months: USC-CSSE 16

Conclusions and Ongoing Work Software estimation models can play an important role in facilitating the right balance of activities to meet project goals ODC COQUALMO can be used in different ways to reason about and optimize V&V processes We are recalibrating ODC COQUALMO with a combination of empirical data and Delphi survey results Includes specialized calibrations with some CSSE industrial affiliates for other domains Continuing to tailor the model for NASA flight projects Analyzing empirical case studies and data from manned and unmanned NASA flight projects, as well as other USC-CSSE industrial affiliates who serve as contractors on space projects Integrating the model with complementary techniques to support risk management practices, and to compare their performances. USC-CSSE 17

References [Chulani, Boehm 1999] Chulani S, Boehm B, Modeling software defect introduction and removal: COQUALMO (COnstructive QUALity MOdel), USC-CSE Technical Report 99-510, 1999 [Chillarege et al. 1992] R. Chillarege, I. Bhandari, J. Chaar, M. Halliday, D. Moebus, B. Ray, and M. Wong, "Orthogonal Defect Classification -- A Concept for In-Process Measurements," IEEE Transactions on Software Engineering, vol. 18, no. 11, pp. 943-956, November 1992 [Lutz, Mikulski 2003] Lutz R, Mikulski I, Final Report: Adapting ODC for Empirical Analysis of Pre-Launch Anomalies, version 1.2, JPL Caltech report, December 2003 [Menzies, Richardson 2005] Menzies, T., and Richardson J.: XOMO: Understanding Development Options for Autonomy, In: 20th International Forum on COCOMO and Software cost Modeling, USC, 2005 http://csse.usc.edu/tools/odc_coqualmo.php USC-CSSE 18