Inspection examines software without execution. A form of static V&V. May be applied to any representation of the system: requirements, design, configuration data, test data, etc.
Can be applicable even on incomplete systems. No execution cost. Can uncover chains of errors.
Can only be used for verification, not validation. Cannot check non-functional characteristics such as performance or usability.
Defect Categories
- Data faults
Uninitialized variables, wrong array bounds, type mismatches. - Control faults
Incorrect conditions, missing break statements, infinite loops. - I/O faults
Incorrect format specifiers, missing file closures. - Interface faults
Wrong parameter types, incorrect counts, mismatched assumptions. - Storage management faults
Unfreed memory, corrupt pointers. - Exception management faults
Missing or wrong exception handlers.