A functional approach to software reliability modeling.
John C. Munson · 1996
A new metaphor is presented for the measurement and modeling of the reliability of software systems that focuses on the functionality that the code is executing and not the software as a monolithic system. In computer software systems, it is the functionality that fails. Some functionalities may be virtually failure free while other functionalities will collapse with certainty whenever they are executed. The focus of this paper is on the notion that it is possible to measure the activities of a system as it executes its various functionalities and characterize the reliability of the system in terms of these functionalities. A software system is the sum of its functionalities. If we can know the reliability of the functionalities and how the system apportions its time among these functionalities, we can then know the reliability of the system. This view of reliability permits the dynamic estimation of the parameters of the underlying multinomial probability distribution representing the transition between program modules. This use of the multinomial probability distribution is particularly convenient in that it has a Dirichlet distribution as its natural conjugate family. Thus, a Bayesian approach may be employed so that each step or epoch in the dynamic operation of a system provides incremental information as to the evolving reliability assessment of the program.