Reliability Growth Of Software Products

MSR-TR-2004-144 |

Publication

Most of the software reliability growth models work under the assumption that reliability of software grows due to the bugs that cause failures being removed from the software. While correcting bugs will improve reliability, another phenomenon has been often been observed – the failure rates of a software product, as observed by the user improves with time irrespective of whether bugs are corrected or not. Consequently, the reliability of a product as observed by users varies, depending on how long the user has been using the product. One reason for this reliability growth is that as the users gain experience with the product, they find work-around for failure-causing situations. Another factor that affects this growth is that following product installing other actions are required, like installing new drivers, upgrading other software to a compatible version, etc. to properly configure the new product. In this paper we present a simple model to represent this phenomenon – we assume that that the failure rate for a product decays with a factor a per unit time. Using this model for failure rate decay model, from the data on total failures reported and units sold every time unit, it is possible to determine the initial failure rate, the decay factor, and the steady state failure rate. The paper also includes a number of examples where this model has been applied to data from released products.