A User-Oriented Software Reliability Model Per Trygve Myhrer 20 februar 2004 1980 Roger C. Cheung.

15
A User-Oriented Software Reliability Model Per Trygve Myhrer 20 februar 2004 1980 Roger C. Cheung

Transcript of A User-Oriented Software Reliability Model Per Trygve Myhrer 20 februar 2004 1980 Roger C. Cheung.

Page 1: A User-Oriented Software Reliability Model Per Trygve Myhrer 20 februar 2004 1980 Roger C. Cheung.

A User-Oriented Software Reliability Model

Per Trygve Myhrer 20 februar 2004

1980Roger C. Cheung

Page 2: A User-Oriented Software Reliability Model Per Trygve Myhrer 20 februar 2004 1980 Roger C. Cheung.

Overview

• Intro to Markov model

• Software reliability • Model for Software Reliability• Model of a program• Reliability of system

• Use of the model• Conclusion

2

Page 3: A User-Oriented Software Reliability Model Per Trygve Myhrer 20 februar 2004 1980 Roger C. Cheung.

Markov model

• System states, seen as nodes

• Probabilities of transitions

Conditions for a Markov model:

• Probabilities are constants

• No memory of paste states

N1 N2

N3N4

P12

P13

P14

P34

P24P31

P41

Transition matrixTo Node

N1 N2 N3 N4

From Node

N1 P11 P12 P13 P14

N2 P21 P22 0 P24

N3 P31 0 P33 P34

N4 P41 0 0 P44

P21

3

Page 4: A User-Oriented Software Reliability Model Per Trygve Myhrer 20 februar 2004 1980 Roger C. Cheung.

Software reliability 1

Difficult to give a formal definition on “software reliability”

• One if correct, and zero if incorrect

• Counting bugs in a program– Not interesting for user

Failure: If output are incorrect or indefinitely delayed

4

Page 5: A User-Oriented Software Reliability Model Per Trygve Myhrer 20 februar 2004 1980 Roger C. Cheung.

Software reliability 2

Reliability: probability that a program gives correct output with a typical set of input data from user environment

• Reliability depends on user profile

• Nonexecuted code have no influence on output

• Little used modules might be less important for reliability of the system

5

Page 6: A User-Oriented Software Reliability Model Per Trygve Myhrer 20 februar 2004 1980 Roger C. Cheung.

Module

• A module is defined to perform a particular function

• Reliability of a module:– Probability that the module performs the

function correctly

• A module passes result to next module

• A module is logical independent– For design, programming and testing

6

Page 7: A User-Oriented Software Reliability Model Per Trygve Myhrer 20 februar 2004 1980 Roger C. Cheung.

Model for Software Reliability

Program runs correct only if the correct sequence of modules are executed and every module executed gives the correct result

• The reliability of the modules are independent. – The probability of a module executed correct are

depended on the present module only and is independent of the past history

• Model is a graph with Markov behaviour– Probabilities are constants– No memory of paste states

7

Page 8: A User-Oriented Software Reliability Model Per Trygve Myhrer 20 februar 2004 1980 Roger C. Cheung.

Model of a program 1

• The program is seen as a graph• Assumes there is one entry node and one exit

node

• Every transition from node Ni to node Nj has a probability of Pij

– If no connection between Ni and Nj, then Pij= 0N1 N2

N3N4

P12

P13

P14

P34

P24P31

P21

Output

Input

8

Page 9: A User-Oriented Software Reliability Model Per Trygve Myhrer 20 februar 2004 1980 Roger C. Cheung.

Model of a program 2

• Adds Ri, that is the reliability of a module

• Two new exit states are added– C program return correct output– F if any module have a fault, the program do

not return correct output

• New transitions N1 N2

N3N4

R1P12

R1P13

R1P14

R3P34

R2P24R3P31

R2P21

F

C

1-R1

1-R2

1-R3

1-R4

R49

Page 10: A User-Oriented Software Reliability Model Per Trygve Myhrer 20 februar 2004 1980 Roger C. Cheung.

Reliability of system 1

• Transition matrix of the system, P

PTo Node

C F N1 N2 N3 N4

From Node

C 1 0 0 0 0 0

F 0 1 0 0 0 0

N1 0 1-R1 0 R1P12 R1P13 R1P14

N2 0 1-R2 R2P21 0 0 R2P24

N3 0 1-R3 R3P31 0 0 R3P34

N4 R4 1-R4 0 0 0 0

10

Page 11: A User-Oriented Software Reliability Model Per Trygve Myhrer 20 februar 2004 1980 Roger C. Cheung.

Reliability of system 2

• Pn(i,j) – probability that the system goes from the starting state i, and that the system enters the absorbing states j{C,F} at or before the nth step

• The reliability of the system is the probability that it gets to state C, when starting at node,N1 and n →∞

• R = Pn(N1,C)

11

Page 12: A User-Oriented Software Reliability Model Per Trygve Myhrer 20 februar 2004 1980 Roger C. Cheung.

Use of the model

• Measure reliability

• Possible to measure for what modules increasing reliability will affect reliability of the system most

• Can use a more effective testing strategy

• Critical modules that have been shown to be reliable should be avoided changing

• Not all bugs are equally costly

12

Page 13: A User-Oriented Software Reliability Model Per Trygve Myhrer 20 februar 2004 1980 Roger C. Cheung.

Conclusion

• The article follows IMRAD

• Research methods– Look into what exists of models– Made a mathematic model– Test on a small experiment

13

Page 14: A User-Oriented Software Reliability Model Per Trygve Myhrer 20 februar 2004 1980 Roger C. Cheung.

Questions ?

Page 15: A User-Oriented Software Reliability Model Per Trygve Myhrer 20 februar 2004 1980 Roger C. Cheung.