Abstract:
Software reliability is defined as the probability of failure free operation of a software in a specified environment during a specified period. Software reliability has been the focus of several researches over the last four decades. One of the earliest software reliability models is the exponential nonhomogeneous Poisson process developed by Goel and Okumoto in 1979. Most research works have considered fitting different software reliability models to different software reliability data where the estimates of the parameters of the models are obtained by maximum likelihood method. However, the problem of predictive analysis on the Goel – Okumoto software reliability model has not so far been explored despite the fact that predictive analysis is very useful for modifying, debugging and determining when to terminate software development testing process. This would lead to improved software reliability and efficient use of resources during software development testing. To assess and improve software reliability, software developers have to perform operational profile testing where they emulate the end-user environment during software testing. Operation profile testing is difficult and time consuming especially when there are multiple types of end-users and hence there is the need for software predictive analysis. The main objective of this study was to perform Bayesian predictive analyses on the Goel – Okumoto software reliability model. Informative and non-informative priors for one-sample case and non-informative prior for two-sample case has been used in the study. Brief literature on NHPP is given in chapter four. The various issues that are associated closely to software development testing process have been outlined in Chapter three as issues A1, B1, C1 and D1 for one-sample case and issues A2, B2 and C2 for the two-sample case. These issues have been addressed by various propositions given in chapter four as follows: Issues A1, B1, C1 and D1 have been addressed by propositions A1, B1, C1 and D1 respectively. The same issues A1, B1, C1 and D1 have been addressed by propositions A1.1, B1.1, C1.1 and D1.1. which have been developed using informative prior. Issues A2, B2 and C2 have been addressed by propositions A2, B2 and C2 respectively. The propositions for the single sample case have been illustrated by secondary software failure data while the propositions for the two-sample case have been illustrated by simulated software failure data. The summary, conclusions and recommendations for further research is given in chapter five. The R-language programs that were used in the analysis are provide in the appendix.