Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Reliability Model Deterministic Models Probabilistic Models Halstead’s software metric McCabe’s cyclomatic complexity metrix Error seeding Failure.

Similar presentations


Presentation on theme: "Software Reliability Model Deterministic Models Probabilistic Models Halstead’s software metric McCabe’s cyclomatic complexity metrix Error seeding Failure."— Presentation transcript:

1 Software Reliability Model Deterministic Models Probabilistic Models Halstead’s software metric McCabe’s cyclomatic complexity metrix Error seeding Failure rate Curve fitting Reliability growth Program structure Input domain NHPP Markov

2 Software Reliability Model Halstead’s Software Metric (1977)

3 Software Reliability Model McCabe’s Cyclomatic Complexity Metrix One should start with 1 for the straight path through the module or subroutine. Then you should add 1 when each time you see one of the following keywords: IF, REPEAT, WHILE, FOR, OR, AND. Also you should add 1 for each case in a case statement. In addition, you also should add 1 more if the case statement lacks a default case. If the total score is less than 10, then the code is considered to be of high quality. (McConnel, 1993)

4 a b c e d Software Reliability Model McCabe’s Cyclomatic Complexity Metrix The cyclomatic number V(G) = e - n + 2p where e is the number of edged in the control graph in which an edge is equivalent to a branching point in the program (IF, WHILE, REPEAT, and CASE) n is the number of vertices in the control graph and a vertex is equivalent to a sequential block of code in the program, and p is the number of connected elements usually 1 6-5+2*1=3

5 Software Reliability Model McCabe’s Cyclomatic Complexity Metrix McCabe (1976) notes that when used in the context of the basis path testing method V(G) provide an upper bound for the number of independent paths in the basis set of a program and an upper bound on the number of tests that must be conducted to ensure that all program statements have been executed at least once. Cyclomatic NumberNumber of Errors Predict

6 Software Reliability Model Error Seeding Models Operation Profile Indigenous Error Pseudo(seeded) Error Introducing pseudo errors into the program

7 Software Reliability Model Error Seeding Models Where N = number of indigenous errors n 1 = number of induced errors r = number of errors removed during debugging k = number of induced errors in r removed errors r-k = number of indigenous errors in r removed errors The probability of k induced errors in r removed errors follows a hypergeometric distribution.

8 Software Reliability Model Error Seeding Models Mills, 1970 Maximum likelihood estimate Type, location, difficulty level Indigenous errors Induced errors Same?

9 Software Reliability Model Error Seeding Models Basin (1980) – two step procedure One programmer detects n 1 errors and a second programmer independently detects r errors from the same program. Let k be the common errors found by two programmers.

10 Software Reliability Model Failure Rate Models Assumptions The program contains N initial faults Each error in the program is independent and equally likely to cause a failure during test Time intervals between occurrences of failure are independent of each other Whenever a failure occurs, a corresponding fault is removed with certainty The fault that causes a failure is assumed to be instantaneously removed and no new errors are introduced during the error removal process The software failure rate during a failure interval is constant and is proportional to the number of faults remaining in the program

11 Software Reliability Model Failure Rate Models Jelinski and Moranda Model (1972) The program failure rate at the ith failure interval is ψ= a proportional constant N = the number of initial errors in the program t i = the time between the (i-1)th and ith failure

12 Software Reliability Model Failure Rate Models Jelinski and Moranda Model (1972) The pdf and cdf of t i are

13 Software Reliability Model Failure Rate Models Jelinski and Moranda Model (1972) Note:

14 Software Reliability Model Failure Rate Models Jelinski and Moranda Model (1972) Suppose that the failure data set {t 1,t 2,…,t n } is given and ψis known N can be solved by If the parameter ψis also not known

15 Software Reliability Model Failure Rate Models Schick and Wolverton Model (1978) Assume the failure rate at the ith time interval increases with time since the last debugging. The program failure rate function between the (I-1)th and the ith failure can be expressed as Note: t i is the test time since the (i-1)st failure

16 Software Reliability Model Failure Rate Models Schick and Wolverton Model (1978)

17 Software Reliability Model Failure Rate Models Schick and Wolverton Model (1978) Maximum likelihood estimate

18 Software Reliability Model Failure Rate Models Sukert Modified Schick and Wolverton Model (1977) Allow more than one failure at each time interval.

19 Software Reliability Model Failure Rate Models Jelinski-Moranda Geometric Model (1979) Assume the program failure rate function is initially a constant D and decreases geometrically at failure time. The program failure rate and reliability function of time between failures at the ith failure interval are

20 Software Reliability Model Failure Rate Models Lipow Modified Version of the J-M Geometric Model Allow multiple errors removal in a time interval. The program failure rate becomes where n i-1 is the cumulative number of errors found up to the (i-1)st time interval.

21 Software Reliability Model Failure Rate Models Goel and Okumoto Imperfect Debugging Model Assume a fault is removed with probability p whenever a failure occurs.


Download ppt "Software Reliability Model Deterministic Models Probabilistic Models Halstead’s software metric McCabe’s cyclomatic complexity metrix Error seeding Failure."

Similar presentations


Ads by Google