Technical Report
Software Reliability Modeling
Report Number: SERC-2016-TR-104
Publication Date: 2016-02-28
Project:
Software Reliability Modeling
Principal Investigators:
Dr. Lance Fiondella
Co-Principal Investigators:
The work performed under RT-139 includes:
(i) Design and implementation of an open source software reliability tool (SRT) to enable the automatic application of software reliability models. Two failure rate and three failure counting software reliability models have been implemented as well as two trend tests to assess if failure data exhibits reliability growth and two measures of goodness of fit. Plots of data and model fits including: cumulative failures, time between failure, failure intensity, and reliability growth. Inferences such as the time to achieve a target reliability or detect a specified number of additional failures have also been implemented. The source code is available from https://github.com/lfiondella/SRT and a web-based instance of the tool is accessible from http://www.sasdlc.org/. This report provides instructions for users. The contributors guide is available from: https://github.com/lfiondella/SRT/blob/master/documentation/contributors guide/SRT_contributors_guide.pdf.
(ii) Statistical algorithms based on the Expectation Maximization (EM) and Expectation conditional maximization (ECM) algorithms that are both stable and fast were developed to enhance the robustness of software reliability model fitting. Traditional algorithms suffered from instability, which required a high level of expertise to apply models. The details of these algorithms are reported in the technical publications that resulted from this research and given in Appendix A: List of Resulting Publications.
(iii) The PI will visit the Technical Lead Thierry Wandji at NAVAIR during the summer of 2016 through a summer fellowship from the Office of Naval Research. Together, they will use the tool on software failure data from DoD systems collected during testing. This will allow them to refine the tool and further enhance its suitability for use to ensure the reliability of software integrated into DoD systems.