Verification and Validation

Steven Zeil

Last modified: Sep 21, 2016
Contents:
1 The Process
2 Non-Testing V&V
2.1 Code Review
2.2 Mathematically-based verification
2.3 Static analysis tools
2.4 Cleanroom software development

Verification & Validation: any activities that seek to assure that a software system meets the users’ needs.

The principle objectives are

The most familiar form of V&V is testing.

1 The Process


Verification & Validation


Testing


What Can We Find?

2 Non-Testing V&V


Static Verification

Verifying the conformance of a software system and its specification without executing the code


Static verification effectiveness

It has been claimed that

2.1 Code Review

Inspecting the code in an effort to detect errors

2.1.1 Desk Checking

2.1.2 Inspection


Inspection pre-conditions


Inspection procedure

  1. System overview presented to inspection team

Inspection teams


Inspection rate


Inspection checklists


Inspection checks

What kinds of faults would appear in a checklist?

2.2 Mathematically-based verification


Program proving


Program verification arguments


Model Checking

2.3 Static analysis tools


Static analysis checks

What kinds of faults can be detected by static analysis?

2.4 Cleanroom software development

The name is derived from the ‘Cleanroom’ process in semiconductor fabrication. The philosophy is defect avoidance rather than defect removal.

 


Cleanroom process teams

Specification team.

Responsible for developing and maintaining the system specification

Development team.

Responsible for developing and verifying the software. The software is NOT executed during this process

Certification team.

Responsible for developing a set of statistical tests to exercise the software after development.

Reliability growth models used to determine when reliability is acceptable