CIS 422/522
Notes on Static Analysis (Emphasis on Inspections)
- Q:Why is it needed?
A: To combat human nature
-
Weinberg refers to Cognitive Dissonance as the human tendency to self-justify
actions. Since we tend not to see evidence that conflicts with our strongly
held beliefs, our ability to find errors in our own work is impaired.
- Common/Accepted evaluation activities
-
- Reviews
- Inspections
- Walkthroughs
- Tests
- Interviews
- Not a perfect science/no guarantee, but very effective; usually
caches different defects than testing.
- Like all evaluation activities, need intended/specified result; some
process/method of review.
- Reviews and Walkthroughs
- Generally, less formal
- Reviews & Walkthroughs can be done for management or peers
- Example: SRS Review (or Walkthrough)
- Content Criteria: Complete, Implementation Independent (What, not
How)
- Unambiguous, Consistent, Precise, Verifiable, Producible,
Traceable
- Packaging Criteria: Modifiable, Readable, Organized for Reference and
Review
-
"The calculator program should add two numbers and display the result."
- Inspections
- Michael Fagan was the pioneer
- Primarily done with Design and Code
- Objectives
-
- Find errors as early as possible
- Ensure that appropriate parties technically agree on the work
- Verify that work meets predefined criteria
- Formally complete a technical task
- Provide data on the inspection process
- The Inspection Process - Basic Principles
- Inspection is a formal, structured process with checklists and defined
roles.
- Generic standards and checklists are created for each type, and
customized as appropriate
- The reviewers are prepared in advance
- The focus of the inspection [meeting] is on identifying problems, not
resolving them.
- An inspection is conducted by technical people for technical people.
- Participants
- Moderator
- Producer(s)
- Reviewers
- Recorder
- The Process
- Prep (input criteria established and verified)
- Inspection [meeting]
- Resolution of reported defects; possible follow-up inspections
(if enough changes)
lloyd.madden@dynamix.com
glenw@uswest.net
johnfl@cs.uoregon.edu