Abstract
Modern society’s dependence on software enabled systems continues to increase, including mission and life-critical systems. Ensuring the reliability and availability of the software embedded in these systems is therefore essential. Existing methods to quantify the reliability of software include non-homogeneous Poisson process software reliability growth models, which enable quantitative assessment of the software testing process. However, these models are not widely employed for av ariety of related reasons, including: (i) lack of robust model fitting algorithms that are both stable and efficient, (ii) the complexity of large-scale software testing processes, and (iii) existing parametric models implicitly characterize the aggregate software testing activities and therefore cannot provide detailed guidance on how to allocate limited resources to these activities. To address these limitations, this dissertation makes several modeling and algorithmic contributions including (i) efficient multi-phase algorithms that utilize a combination of robust global search and numerical methods to achieve a combination of stability and performance when estimating the parameters of a model, (ii) a heterogeneous changepoint framework to characterize changes in the fault detection process due to changes in the software under test, testing activities, and environment, and (iii) a covariate model based on the discrete Cox proportional hazard rate to explicitly consider the impact of multiple testing activities and efficiently guide the allocation of limited testing resources.