Motivation
	BNR results
		Russell, IEEE Software, 1991
		2.5 million lines of code inspected
		on average, one fault found per person-hour invested
		2-4 times as effective as testing
		on average 4.5 person-days to fix a failure reported
			from the field
	standard practice at many other companies
		IBM, AT&T, Tandem
	a career skill
		at your next interview, mention that you
		have code inspection skills

Roles
	Moderator
		controls the meetings
		ensures conduct is focused and professional
	Reader
		paraphrases the code or documentation
	Recorder
		records any faults found
	Others
		designer, implementor, tester

Procedure
	For a code inspection
	1. Overview
		overview of code to be inspected
	2. Preparation
		each team member studies the code
	3. Inspection meeting
		reader paraphrases the code
		other inspectors listen and speak up only if they
			see a fault
		as soon as a fault is identified and recorded,
			move on to the next block of code
	4. Rework
		remove any faults found
	5. Follow-up
		moderator ensures that the rework has been done
		if more than 10% of the code is faulty
			run the entire inspection procedure again

Inspection focus
	just paraphrasing: what most readers do
		frequently no detailed, written specifications are available
		so reader paraphrases line-by-line, starting
			with line 1 and continuing to the end
		other inspectors speak up when they hear
			something that seems wrong 
	specialized roles for inspectors
		to focus on commonly occuring problems, such as:
			coding conventions
			common failures
			standard techniques
			portability
		in one case, one inspector focused solely on macros

CSC 265 focus
	we do have specifications and so can inspect for
		"correctness wrt the specification"
	correctness of exported functions
		with respect to module interface specifications
	correctness of local functions
		with respect to header comments


Previous Section Back to Index Next Section