220 likes | 290 Views
Software Reliability Model. Deterministic Models. Halstead’s software metric. McCabe’s cyclomatic complexity metrix. Probabilistic Models. Error seeding. Reliability growth. NHPP. Failure rate. Program structure. Markov. Curve fitting. Input domain. Software Reliability Model.
E N D
Software Reliability Model • Deterministic Models Halstead’s software metric McCabe’s cyclomatic complexity metrix • Probabilistic Models Error seeding Reliability growth NHPP Failure rate Program structure Markov Curve fitting Input domain
Software Reliability Model Halstead’s Software Metric (1977)
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)
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 a 6-5+2*1=3 c b d e
Software Reliability Model McCabe’s Cyclomatic Complexity Metrix Predict Cyclomatic Number Number of Errors 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.
Software Reliability Model Error Seeding Models Introducing pseudo errors into the program Indigenous Error Pseudo(seeded) Error Operation Profile
Software Reliability Model Error Seeding Models The probability of k induced errors in r removed errors follows a hypergeometric distribution. Where N = number of indigenous errors n1= 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
Software Reliability Model Error Seeding Models Mills, 1970 Maximum likelihood estimate Indigenous errors Same? Type, location, difficulty level Induced errors
Software Reliability Model Error Seeding Models Basin (1980) – two step procedure One programmer detects n1 errors and a second programmer independently detects r errors from the same program. Let k be the common errors found by two programmers.
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
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 ti = the time between the (i-1)th and ith failure
Software Reliability Model Failure Rate Models Jelinski and Moranda Model (1972) The pdf and cdf of ti are
Software Reliability Model Failure Rate Models Jelinski and Moranda Model (1972) Note:
Software Reliability Model Failure Rate Models Jelinski and Moranda Model (1972) Suppose that the failure data set {t1,t2,…,tn} is given and ψis known N can be solved by If the parameter ψis also not known
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: ti is the test time since the (i-1)st failure
Software Reliability Model Failure Rate Models Schick and Wolverton Model (1978)
Software Reliability Model Failure Rate Models Schick and Wolverton Model (1978) Maximum likelihood estimate
Software Reliability Model Failure Rate Models Sukert Modified Schick and Wolverton Model (1977) Allow more than one failure at each time interval.
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
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 ni-1 is the cumulative number of errors found up to the (i-1)st time interval.
Software Reliability Model Failure Rate Models Goel and Okumoto Imperfect Debugging Model Assume a fault is removed with probability p whenever a failure occurs.