Measuring and Estimating Software Defects Loren Stroup UCF EEL6883: Software Engineering II.

Slides:



Advertisements
Similar presentations
Web Development Engineering Processes Introduction to Web Development Outsourcing Processes.
Advertisements

The ROI of Testing Presented By: Shaun Bradshaw Questcon Technologies The ROI of Testing Presented By: Shaun Bradshaw Questcon Technologies.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
1 State of Michigan Achieving Software Process Improvement with Capability Maturity Model (CMM)
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #7 Software Engineering.
Stepan Potiyenko ISS Sr.SW Developer.
Software Development Process Models. The Waterfall Development Model.
Software Design & Production Methodologies STRUCTURED & OBJECT-ORIENTED METHODS for SYSTEMS ANALYSIS & DESIGN Vassilka Kirova Computer & Information Science.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Software Measurement and Process Improvement
RIT Software Engineering
SE 450 Software Processes & Product Metrics 1 Defect Removal.
CMM Overview - 1 © Paul Sorenson CMPUT Software Engineering refs. IEEE Software, March 1988, 73-79, and IEEE Software, July 1993, (Capability.
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
Using A Defined and Measured Personal Software Process Watts S. Humphrey CS 5391 Article 8.
Software Engineering Institute Capability Maturity Model (CMM)
1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.
Capability Maturity Model
OHT 4.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
Release & Deployment ITIL Version 3
S T A M © 2000, KPA Ltd. Software Trouble Assessment Matrix Software Trouble Assessment Matrix *This presentation is extracted from SOFTWARE PROCESS QUALITY:
Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
N By: Md Rezaul Huda Reza n
Name Hometown Program Employer/Student Fun Fact 1.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 10: Testing and Inspecting to Ensure High Quality Part 4:
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
By: Md Rezaul Huda Reza 5Ps for SE Process Project Product People Problem.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
CS 350, slide set 6 M. Overstreet Old Dominion University Spring 2005.
Software Engineering - Spring 2003 (C) Vasudeva Varma, IIITHClass of 39 CS3600: Software Engineering: Standards in Process Modeling CMM and PSP.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Software Quality Assurance SE Software Quality Assurance What is “quality”?
Software Quality See accompanying Word file “Software quality 1”
By Ritesh Reddy Nagaram.  Organizations which are developing software processes are facing many problems regarding the need for change of already existing.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Markland J. Benson, Computer Systems Manager, White Sands Complex, (575) , Technology Infusion of CodeSonar into the Space.
Quality Planning And Defect Estimation Presented by Basker George.
Software Project Management Lecture # 3. Outline Chapter 22- “Metrics for Process & Projects”  Measurement  Measures  Metrics  Software Metrics Process.
Chapter 1. Introduction.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
INFO 636 Software Engineering Process I Prof. Glenn Booker Week 9 – Quality Management 1INFO636 Week 9.
SWEN 5130 Requirements Engineering 1 Dr Jim Helm SWEN 5130 Requirements Engineering Requirements Management Under the CMM.
PSP Quality Strategy [SE-280 Dr. Mark L. Hornick 1.
CMMI. 1.Initial - The software process is characterized as ad hoc, and occasionally even chaotic. Few processes are defined, and success depends on individual.
SOFTWARE PROCESS AND PROJECT METRICS. Topic Covered  Metrics in the process and project domains  Process, project and measurement  Process Metrics.
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Technical Debt and What to do about it. Kane Mar Certified Scrum Trainer and Coach (CST and CSC) Kane Mar Certified.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
System Maintenance Modifications or corrections made to an information system after it has been released to its customers Changing an information system.
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M13 8/20/2001Slide 1 SMU CSE 8314 /
Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M00 - Version 7.09 SMU CSE 8314 Software Measurement.
Software Engineering Lecture 8: Quality Assurance.
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill Stephen R. Schach 1.
Chapter 05 Quality Planning SaigonTech – Engineering Division Software Project Management in Practice By Pankaj Jalote © 2003 by Addison Wesley.
ICS Area Managers Training 2010 ITIL V3 Overview April 1, 2010.
SQA COMPONENTS IN THE PROJECT LIFE CYCLE C HAPTER 8 Dr. Ahmad F. Shubita.
By Manish Shrotriya CSE MS Software Engineering vs Software Project Engineering Goals: Develop quality software What is quality of a software.
F29IF2: Databases & Information Systems Lachlan M. MacKinnon The Information Systems Life Cycle Databases & Information Systems Lachlan M. MacKinnon.
Advanced Software Engineering Dr. Cheng
The Value of Managing the Review Process
State of Michigan Achieving Software Process Improvement with
Why Every Dev. Team Needs Static Analysis
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Quality Measurable characteristic Cyclomatic complexity Cohesion
Software Engineering I
Capability Maturity Model
Case Study 1 By : Shweta Agarwal Nikhil Walecha Amit Goyal
Capability Maturity Model
Software Design & Production Methodologies
Presentation transcript:

Measuring and Estimating Software Defects Loren Stroup UCF EEL6883: Software Engineering II

Outline Introduction To Topic Current Measures for Estimating Defects Preventative Methods Management Decisions Capability Maturity Model and Defect Prevention Personal Work Experience Conclusion

Introduction Software is in demand As software complexity has increased so has the need for software quality The goal of software reliability is to make software behave the way it is intended

Introduction: Software Defects Over Time Figure shows number of defects over time Most defects found during debugging, unit testing, and system level testing At some point, software defects will continue to rise and an upgrade is needed IBM studies have shown software defects found after coding are 10x more costly to correct than found during testing

Introduction: Software Defect Costs Driven by the amount an organization invests in software development U.S. businesses were investing roughly $250 billion in software development annually in 1996 A single post-release defect can cost between $20,000 and $40,000 Improving quality and reducing software defects has a conservative return of $7.50 to every $1 Software quality budget of $40,000 can return a savings of $300,000 in preventing most software defects

Current Measures For Estimating Defects Defect Detection Rate Ratio of the number of defects found per the size of the work product The number of defects per page of code or per 1000 SLOC Compared to previous projects and established thresholds A high DDR could mean experienced coders doing the peer review or latent defects from previous release of software A low DDR could mean inexperienced coders are review the software or more experienced coders are doing the development

Current Measures For Estimating Defects (cont) Defect Removal Efficiency Percentage of software defects that are removed by code reviews, inspections, and tests In use since the 1960s Current U.S. average is about 85% Companies such as IBM, AT&T, and Hewlett-Packard have gotten to 99%

Current Measures For Estimating Defects (cont) Table shows defect removal efficiency for several activities No one activity has the best efficiency overall All the activities working together help software quality

Current Measures For Estimating Defects (cont) Defect Density Number of defects per size of the software project Size of project measured in LOC Useful metric in determining if a software release is ready for delivery to the customer

Preventative Methods Software Inspections (peer reviews) Introduced by Michael Fagan in the 1970s at IBM Involves reviewing a software work product by a group of trained individuals Reviewers review the software code changes and relay comments back to the author for clarification or further work Initial costs are in training individuals on the process Software developers are reviewing instead of coding

Preventative Methods Pair Programming Two software developers work together at one computer One developer is coding, the other developer is reviewing Potential to find defects earlier because the code is under constant review On average, PP leaves 15% fewer defects than conventional methods

Management Decisions Implement fixes prior to delivery Depends on severity and schedule Deliver a new software release Hold off the fixes until another software release, depends on severity Operation and Maintenance work Deliver a software patch release “out-of-cycle” releases Release accepted by customer, but patches will be delivered for any defects found during additional testing

Capability Maturity Model and Defect Prevention CMM level 2 Key process area is software quality assurance Starting to be process-oriented Main goals are planning quality assurance guidelines and enforcing them Beginning foundation to defect prevention

Capability Maturity Model and Defect Prevention CMM level 3 Key process area is peer reviews Focus is on the cause of software defects Processes begin to be repeatable CMM level 5 Defect prevention is a key process area Defect prevention is a strategy applied to the software lifecycle that identifies root causes of defects and prevents them from recurring

Capability Maturity Model and Defect Prevention Figure is a cost analysis of defect prevention Clearly, defects found earlier saves money Team can be set up dedicated to the defect prevention activities

Personal Work Experience Software development experience of 2 years Software test experience of 3 years Use peer reviews to minimize software defects Run unit tests and integration tests with test team witness Been a part of 2 major software releases and several patch releases Tough to anticipate all behaviors of system Must pay special attention to code changes when dealing with older code

Conclusion Defects are unavoidable but can be limited with the right tools Special metrics make it easier to plan releases and diagnose problems more quickly Preventing defects is a key process area in many of the CMM levels It is very beneficial in the long run for a company to invest money in processes to reduce defects for the time of release of the software

Cited Works Pan, Jiantao. Software Reliability. Website, 1999, Wikipedia. Software quality. Website, 2008, Subramaniam, Bala. Eective Software Defect Tracking. Website, 1999, /subramaniam.asp. /subramaniam.asp Lett, Steven H. Using Peer Review Data to Manage Software Defects Web Document, 2008, defects.pdf. defects.pdf Jones, Capers. "Software Defect Removal Efficiency", in Computer, April 1996, Software Productivity Res. Inc., IEEE. McConnel, Steve. "Gauging Software Readiness With Defect Tracking", in IEEE Software, May/June 1997, Construx Software, IEEE. Software Engineering Institute. Software Inspections. Website, 2007,

Cited Works (cont) Wikipedia. Software inspection. Website, 2008, Wikipedia. Pair programming. Website, 2008, Padberg, Frank and Muller Matthias M. "Analyzing the Cost and Benet of Pair Programming", in Proceedings of the Ninth International Software Metrics Symposium, 2003, The Computer Society, IEEE. Wikipedia. Capability Maturity Model. Website, 2008, Paulk, Mark C., Weber, Charles V., Garcia Suzanne M., Chrissis, Mary Beth, Bush, Marilyn. Software Quality Assurance. Website, Narayana, Purushotham. "Software Defect Prevention - In a Nutshell", in iSixSigma, , iSixSigma LLC, Web Document:

Questions! If you have any questions, feel free to contact me