Title: 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.
1Software Defect ReductionTop 10 ListBarry
Boehm, University of Southern CaliforniaVictor
R. Basili, University of MarylandIEEE Computer,
January 2001.Eliminating Embedded Software
DefectsPrior to Integration TestTed L. Bennett
and Paul W. WennbergCrosstalk, Dec
2005.www.stsc.hill.af.mil
2Top 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
3Top 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.
4Top 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.
5Top 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.
6Jet Propulsion Lab - Root-Cause Analysis
of Spacecraft Software Defects
Fault Distribution
Internal faults are defined as coding faults
Bennett, T.L., Wennberg, P.W., Eliminating
Embedded Software Defects Prior to Integration
Test, Crosstalk, Journal of Defence Software
Engineering, December 2005.
7Economics of Fault Finding
Relative cost of software fault propagation
368
400
Relative
Relative
Cost to
Cost to
350
Repair
Repair
300
250
130
64
200
37
50
150
7
26
3
13
10
100
3
10
Customer
Customer
5
1
1
2
Integration
5
1
50
1
Test
1
Phase Defect Repaired
Code
0
Design
Reqts
Reqts
Design
Design
Code
Code
Requirements
Test
Test
Integration
Integration
Phase Defect Introduced
Bennett, T.L., Wennberg, P.W., Eliminating
Embedded Software Defects Prior to Integration
Test, Crosstalk, Journal of Defence Software
Engineering, December 2005.