Software Defect Reduction Top 10 List Barry Boehm
Software Defect Reduction Top 10 List Barry Boehm, University of Southern California Victor R. Basili, University of Maryland IEEE Computer, January 2001. Eliminating Embedded Software Defects Prior to Integration Test Ted L. Bennett and Paul W. Wennberg Crosstalk, Dec 2005. www. stsc. hill. af. mil
Top 10 List • ONE – Effort to find and fix – Finding and fixing a software problem after delivery is often 100 times more expensive than finding and fixing it during the requirements and design phase 1/10/2022 2
Top 10 List • TWO – Amount of avoidable rework – Current software projects spend about 40 % to 50 % of their effort on avoidable rework. • THREE - Defects causing rework – About 80 % of avoidable rework comes from 20 % of the defects. • FOUR - Modules contributing to defects – About 80 % of the defects come from 20 % of the modules, and about half the modules are defect free. 1/10/2022 3
Top 10 List • FIVE – Defects contributing downtime – About 90 % of the downtime comes from, at most, 10 % of the defects. • SIX –Contribution of peer reviews – Peer reviews catch 60 % of the defects. • Peer review provides an effective technique that catches from 31 to 93 % of the defects, with a median of around 60 percent. • Peer reviews, analysis and testing catch different classes of defects at different point in the development cycle • SEVEN – Contribution of perspective-based reviews – Perspective-based reviews catch 35 % more defects than non directed reviews. • The union of several perspectives into a single inspection offers broad yet focused coverage of the document being reviewed. 1/10/2022 4
Top 10 List • EIGHT –Contribution of disciplined personal practices – Disciplined personal practices can reduce defect introduction rates by up to 75 %. (PSP, TSP) • NINE – Cost of high dependability – All other things being equal, it costs 50 % more per source instruction to develop high-dependability software products than to develop low-dependability software products • TEN –Software quality at delivery – About 40 to 50 % of user programs (e. g. spreadsheet) contain nontrivial defects. 1/10/2022 5
Jet Propulsion Lab - Root-Cause Analysis of Spacecraft Software Defects Fault Distribution Internal faults are defined as coding faults 1/10/2022 Bennett, T. L. , Wennberg, P. W. , Eliminating Embedded Software Defects Prior to Integration Test, Crosstalk, Journal of Defence Software Engineering, December 2005. 6
Economics of Fault Finding Relative cost of software fault propagation 368 400 Relative Cost to Repair 350 300 250 130 64 200 50 100 50 0 26 10 5 1 1 Reqts Design 2 10 Code 1 37 7 13 5 Test 1 3 Integration 3 Customer Integration Test Phase Code Defect Design 1 Requirements Repaired Phase Defect Introduced 1/10/2022 Bennett, T. L. , Wennberg, P. W. , Eliminating Embedded Software Defects Prior to Integration Test, Crosstalk, Journal of Defence Software Engineering, December 2005. 7
- Slides: 7