Software Inspections

Download Report

Transcript Software Inspections

Design and Code Inspections to Reduce
Errors in Program Development.
M.E. Fagan
IBM Systems Journal, 1976
Presented by
Ankush Varma
1
Overview




What is Code Inspection
Study: Quantification of Benefits
The Formal Inspection Process
Code Inspection for Process Management
2
Code Inspection



Code is only looked at from a
debugging viewpoint.
Cannot revisit algorithms,
check for coding standards
etc. easily.
Inspection is a formal process
of looking at all aspects of
both design and code even
when nothing seems broken.
Write Code
Debug
Test
Add features
3
Programming : A Manageable Process

Programming can be though of as a process:





Requirement Statements are Input.
A series of processing operations act on this.
Each step has well-defined output.
Each step has unambiguous exit criteria e.g. clean
compilation, number of lines of code a design
statement translates to etc.
Cost of reworking errors massively increases down the
process.
Note the underlying ties to a waterfall model.
4
The Programming Process
cost
5
The Benefits of Code Inspection : A Study
6
Study of Error Detection Rates
7
The Formal Inspection Process
8
People Involved




Moderator
Designer
Coder/Implementor
Tester
9
The Steps of the Inspection Process
10
What to Look For : Examples
11
Code Inspection for Process Management
12
Using Code Inspections for Process Control





List most error-prone modules to prioritize testing,
re-coding or later inspections.
Compare processes to evaluate relative
effectiveness.
Use increased predictability to plan ahead.
Error re-work moved to first half of process,
where it is cheaper.
Earlier quantification of product quality.
13
Inspections are NOT Walk-Throughs
14
Questions/Discussion
15