+ All Categories
Home > Documents > 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay....

1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay....

Date post: 26-Mar-2015
Category:
Upload: landon-guthrie
View: 213 times
Download: 0 times
Share this document with a friend
Popular Tags:
48
Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301 – Software Engineering Lecture #30 – 2004-11-10 M. E. Kabay, PhD, CISSP Assoc. Prof. Information Assurance Division of Business & Management, Norwich University mailto:[email protected] V: 802.479.7937
Transcript
Page 1: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Verification & Validation

IS301 – Software EngineeringLecture #30 – 2004-11-10

M. E. Kabay, PhD, CISSPAssoc. Prof. Information Assurance

Division of Business & Management, Norwich University

mailto:[email protected] V: 802.479.7937

Page 2: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

2 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Topics

Verification and validation planningSoftware inspectionsAutomated static analysisCleanroom software development

Page 3: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

3 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Verification and Validation

Assuring that software system meets user's needs

Page 4: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

4 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Objectives

To introduce software verification and validation and to discuss distinction between them

To describe program inspection process and its role in V & V

To explain static analysis as verification technique

To describe Cleanroom software development process

Page 5: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

5 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Verification vs Validation

Verification:

“Are we building the product right?” software should conform to its

specificationValidation:

“Are we building the right product?” software should do what user really

requires

Page 6: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

6 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

V & V Process

Whole life-cycle processV & V at each stage in software process

Two principal objectivesDiscover defects in systemAssess whether system is usable in

operational situation

Page 7: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

7 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Static and Dynamic Verification

Software inspections Analysis of static system representationStatic verificationMay be supplemented by tool-based

document and code analysisSoftware testing

Exercising and observing product behavior (dynamic verification)

System executed with test data and its operational behavior observed

Page 8: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

8 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Static and Dynamic V&V

Formalspecification

High-leveldesign

Requirementsspecification

Detaileddesign

Program

PrototypeDynamicvalidation

Staticverification

Page 9: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

9 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Program Testing

Can revealPresence of errors But NOT their absence

Successful test Discovers one or more errors

Only validation technique for non-functional requirements

Should be used in conjunction with static verification to provide full V&V coverage

Page 10: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

10 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Types of Testing

Defect testingTests designed to discover system defectsSuccessful defect test reveals presence of

defects in systemStatistical testing

Tests designed to reflect frequency of user inputs

Used for reliability estimation

Page 11: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

11 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

V & V Goals

Establish confidence that software is fit for purpose

Does NOT mean completely free of defectsGood enough for its intended use Type of use will determine degree of

confidence needed

Page 12: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

12 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

V & V Confidence

Depends on system’s purpose, user expectations and marketing environmentSoftware function

Level of confidence depends on how critical software is to organization

User expectationsUsers may have low expectations of

certain kinds of softwareMarketing environment

Getting product to market early may be more important than finding defects in program

Sound familiar

?

Page 13: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

13 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Testing and Debugging

Defect testing and debugging are distinct processes

Verification and validation concerned with establishing existence of defects in program

Debugging concerned with locating and repairing these errors

Debugging involves formulating hypotheses about program behavior then testing these hypotheses to find system error(s)

Page 14: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

14 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Debugging Process

Locateerror

Designerror repair

Repairerror

Re-testprogram

Testresults Specification Test

cases

Page 15: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

15 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

V & V Planning

Careful planning required to get most out of testing and inspection processesStart early in development process

Identify balance between Static verification and Testing

Test planning is about Defining standards for testing process

rather than Describing product tests

Page 16: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

16 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

V-Model of Development

Requirementsspecification

Systemspecification

Systemdesign

Detaileddesign

Module andunit codeand tess

Sub-systemintegrationtest plan

Systemintegrationtest plan

Acceptancetest plan

ServiceAcceptance

testSystem

integration testSub-system

integration test

Page 17: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

17 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Structure of Software Test Plan

Testing processRequirements traceabilityTested itemsTesting scheduleTest recording proceduresHardware and software requirementsConstraints

Page 18: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

18 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Software Inspections

People examine representation of system to find anomalies and defectsMay be applied to any representation of

systemRequirements, design, test data . . .

Do not require execution of system Used before implementation

Very effective technique for discovering errors

Page 19: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

19 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Inspection Success

In testing, one defect may mask another so several executions are required

Reuse domain and programming knowledge so reviewers are likely to have seen types of error that commonly arise

Thus many different defects may be discovered in single inspection

Page 20: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

20 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Inspections and Testing

Inspections and testing are complementary and not opposing verification techniques

Both should be used during V & V process Inspections can check

Conformance with specification But not conformance with customer’s real

requirements Inspections cannot check non-functional

characteristics Performance, usability, etc.

Page 21: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

21 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Program Inspections

Formalized approach to document reviews Intended explicitly for defect DETECTION (not

correction)Defects may be

Logical errors, Anomalies in code that might indicate

erroneous condition (E.g. uninitialized variable)

Or non-compliance with standards

Page 22: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

22 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Inspection Pre-Conditions

Precise specification must be availableTeam members must be familiar with

organization standardsSyntactically correct code must be availableError checklist should be preparedManagement must accept that inspection will

increase costs early in software processManagement must not use inspections for

staff evaluationsI.e., finding errors does not necessarily

mean programmer is BAD

Page 23: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

23 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Inspection Process

Inspectionmeeting

Individualpreparation

Overview

Planning

Rework

Follow-up

Page 24: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

24 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Inspection Procedure

System overview presented to inspection team

Code and associated documents distributed to inspection team in advance

Inspection takes place and discovered errors noted

Modifications made to repair discovered errors

Re-inspection may or may not be required

Page 25: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

25 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Inspection Teams

Made up of at least 4 membersAuthor of code being inspectedInspector who finds errors, omissions and

inconsistencies Reader who reads code to teamModerator who chairs meeting and notes

discovered errorsOther roles:

Scribe Chief moderator

Page 26: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

26 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Inspection Checklists

Checklist of common errors should be used to drive inspection

Error checklist is programming language dependent

‘Weaker’ type checking needs larger checklistExamples:

Initialization Constant namingLoop terminationArray bounds, etc.

Page 27: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

27 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Inspection Checks (1)

Data FaultsAre all program variables initialized before

their values are used?Have all constants been named?Should the lower bound of arrays be 0, 1 or

something else?Should the upper bound of arrays be equal to

the size of the array or (size – 1)? If character strings are used, is a delimiter

explicitly assigned?

Page 28: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

28 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Inspection Checks (2)

Control FaultsFor each conditional statement, is the condition

correct? Is each loop certain to terminate?Are compound statements correctly bracketed? In case statements, are all possible cases

accounted for?

Page 29: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

29 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Inspection Checks (3) Input/Output Faults

Are all input variables used?Are all output variables assigned a value

before the are output? Interface Faults

Do all function and procedure calls have the correct number of parameters?

Do formal and actual parameter types match?Are the parameters in the right order?If components access shared memory

(globals), do they have the same model of the shared memory structure?

Page 30: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

30 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Inspection Checks (4)

Storage Management FaultsIf a linked structure is modified, have all

links been correctly reassigned?If dynamic storage is used, has space been

allocated correctly?Is space explicitly deallocated after it is no

longer required?Exception Management Faults

Have all possible error conditions been taken into account?

Page 31: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

31 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Inspection Rate

Estimating cost of inspection for 500 lines of code: 500 statements/hour during overview = 1 hr per person

x 4 people = 4 person-hours 125 source statements/hour during individual

preparation = 4 hours x 4 people = 16 person-hours 90-125 statements/hour can be inspected in meeting

with 4 people in team = ~5 hours x 4 people = ~20 person-hours

Inspection is therefore expensive process Inspecting 500 lines thus takes ~ 4 + 16 + 20 =

~40 person-hoursEstimate programmer salary $80K/2K hr ~$40/hrMultiply by 2 for extended costs = $80/hrTherefore costs of 40 person-hours effort =

~ $3,200

Page 32: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

32 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Automated Static Analysis

Static analyzers = software for source text processingParse program textTry to discover potentially erroneous

conditionsReport to V & V team

Effective aid to inspectionsSupplement to but not replacement for

inspections

Page 33: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

33 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Static Analysis ChecksFault class Static analysis check

Data faults Variables used before initialisationVariables declared but never usedVariables assigned twice but never usedbetween assignmentsPossible array bound violations Undeclared variables

Control faults Unreachable codeUnconditional branches into loops

Input/output faults Variables output twice with no interveningassignment

Interface faults Parameter type mismatchesParameter number mismatchesNon-usage of the results of functionsUncalled functions and procedures

Storage managementfaults

Unassigned pointersPointer arithmetic

Page 34: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

34 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Stages of Static Analysis (1)

Control flow analysisChecks for loops with multiple exit or entry

points, finds unreachable code, etc.Data use analysis

Detects uninitialized variables, variables written twice without intervening assignment, variables which are declared but never used, etc.

Interface analysisChecks consistency of routine and

procedure declarations and their use

Page 35: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

35 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Stages of Static Analysis (2)

Information flow analysisIdentifies dependencies of output

variables. Does not detect anomalies itself but highlights information for code inspection or review

Path analysisIdentifies paths through program and sets

out statements executed in that path. Again, potentially useful in review process

Both these stages generate vast amounts of information. Must be used with care.

Page 36: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

36 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

LINT Static Analysis

138% more lint_ex.c

#include <stdio.h>printarray (Anarray) int Anarray;{ printf(“%d”,Anarray);}main (){ int Anarray[5]; int i; char c; printarray (Anarray, i, c); printarray (Anarray) ;}

139% cc lint_ex.c140% lint lint_ex.c

lint_ex.c(10): warning: c may be used before setlint_ex.c(10): warning: i may be used before setprintarray: variable # of args. lint_ex.c(4) :: lint_ex.c(10)printarray, arg. 1 used inconsistently lint_ex.c(4) :: lint_ex.c(10)printarray, arg. 1 used inconsistently lint_ex.c(4) :: lint_ex.c(11)printf returns value which is always ignored

Page 37: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

37 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Use of Static Analysis

Particularly valuable for language such as CWeak typing Hence many errors undetected by compiler

Less cost-effective for languages like JavaStrong type checkingCan therefore detect many errors during

compilation

Page 38: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

38 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Cleanroom Software Development

Name derived from 'Cleanroom' process in semiconductor fabrication

Philosophy is defect avoidance rather than defect removal

Software development process based on:Incremental developmentFormal specificationStatic verification using correctness

argumentsStatistical testing to determine program

reliability

Page 39: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

39 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Cleanroom Process

Constructstructuredprogram

Definesoftware

increments

Formallyverifycode

Integrateincrement

Formallyspecifysystem

Developoperational

profileDesign

statisticaltests

Testintegrated

system

Error rework

Page 40: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

40 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Cleanroom Process Characteristics

Formal specification using state transition model

Incremental developmentStructured programming

Limited control and abstraction constructs are used

Static verification using rigorous inspectionsStatistical testing of system (covered in Ch.

21)(but not in this course)

Page 41: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

41 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Incremental Development

Formalspecification

Develop s/wincrement

Establishrerquirements

Deliversoftware

Frozenspecification

Requirements change request

Page 42: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

42 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Formal Specification and Inspections

State-based model = system specification Inspection process checks program against

this modelProgramming approach defined so that

correspondence between model and system is clear

Mathematical arguments (not proofs) are used to increase confidence in inspection process

Page 43: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

43 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Cleanroom Process Teams

Specification teamDevelops and maintains system

specificationDevelopment team

Develops and verifies software.Software NOT executed or even compiled

during this processCertification team

Develops set of statistical tests to exercise software after development

Reliability growth models used to determine when reliability acceptable

Page 44: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

44 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Cleanroom Process Evaluation

Results in IBM impressive Few discovered faults in delivered systems

Independent assessment: Process no more expensive than other

approachesFewer errors than in ‘traditional’

development processNot clear how this approach can be

transferred to environment with Less skilled or Less highly motivated engineers

Page 45: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

45 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Key Points (1)

Verification and validation are not same thing. Verification shows conformance with specification; validation shows that program meets customer’s needs

Test plans should be drawn up to guide testing process.

Static verification techniques involve examination and analysis of program for error detection

Page 46: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

46 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Key points (2)

Program inspections are very effective in discovering errors

Program code in inspections is checked by small team to locate software faults

Static analysis tools can discover program anomalies which may be indication of faults in code

Cleanroom development process depends on incremental development, static verification and statistical testing

Page 47: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

47 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Homework

Required by Wed 17 Nov 2004: For 32 points

22.1 – 22.5 (@4)22.9 & 22.10 (@6) (think hard)

Optional by Mon 29 Nov 2004For up to 25 extra points, write detailed

answers for any or all of22.6, 22.7 (@10)22.8 (@5)

Page 48: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Verification & Validation IS301.

48 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

DISCUSSION


Recommended