Abstract
Covariate software reliability models characterize defect discovery as a function of test activities and related software metrics. These models also enable more detailed test activity allocation problems suitable for process improvement. However, the mathematical and algorithmic knowledge required to apply these models deters widespread adoption by software practitioners. This thesis presents the Covariate Software Failure and Reliability Assessment Tool (C-SFRAT), a free and open source application to promote the adoption of covariate software reliability models. The C-SFRAT automatically applies methods from software reliability engineering to accurately characterize the defect discovery process in terms of the test activities performed. The tool enables calculations and visualizations, including plots of the defect discovery data, covariate models fit to this data, and inferences made possible by these models as well as assessment of model goodness of-fit. A generalized optimization procedure, referred to as the test activity allocation problem, has been implemented to guide the distribution of limited resources among specific test activities in order to maximize defect discovery for corrective action and improved reliability. The tool is extensible, allowing for the contributions of new hazard functions, goodness-of-fit measures, and optimization problems. General steps to add a new hazard function to the tool are described, allowing the defect detection curve to take different shapes that can better characterize the data. Application of the C-SFRAT to two data sets from the literature indicates that, in some cases, newly incorporated hazard functions perform best. The open source nature of this tool will enable collaboration among researchers and practitioners from industry and government within a single shared platform.