Software availability is usually defined as the expected fraction of time during which a software component or system is functioning acceptable. Assume that the program is operational and is not being modified by news features or repairs. Hence it has constant failure intensity. We can compute availability for software as we do for hardware. It is the ratio of up time to the sum of up time plus down time, as the time interval over which the measurement is made approaches infinity. The down time is the product of the failure intensity and the mean time to repair (MTTR). Usually the failure intensity applied here is a figure computed for serious failures and not those that involve only minor degradation of the system. It is generally not practical to hold up operation of the system while performing fault determination and correction in the field. Therefore, we ordinarily determining MTTR as the average time required restoring the database for a program, reloading the program, and resuming execution.