A reliability model incorporating software quality metrics
Large scale software development efforts in the past decade have posed a problem in terms of the reliability of the software. The size and complexity of software that is being developed is growing rapidly and integrating diverse pieces of software in the operational environment also poses severe reliability issues, resulting in increased development and operational costs. A number of reliability models have been defined in the literature to deal with problems of this kind. However, most of these models treat the system as a "black box" and do not consider the complexity of the software in its reliability predictions. Also, reliability is predicted after the system had been completely developed leaving little scope for any major design changes to improve system reliability.
This thesis reports on an effort to develop a reliability model based on complexity metrics which characterize a software system and runtime metrics which reflect the degree of testing of the system. A complete development of the reliability model is presented here. The model is simple and reflects on our intuition of the software development process and our understanding of the significance of the complexity metrics. Credibility analysis is done on the model by simulating a number of systems and applying the model. Data collected from three FORTRAN coded systems developed for NASA Goddard was used as representative of the actual software systems. An analysis of the results is finally presented.