@brazovayeye

Exploring Genetic Programming and Boosting Techniques to Model Software Reliability

, , , and . IEEE Transactions on Reliability, 56 (3): 422--434 (September 2007)
DOI: 10.1109/TR.2007.903269

Abstract

Software reliability models are used to estimate the probability that a software fails at a given time. They are fundamental to plan test activities, and to ensure the quality of the software being developed. Each project has a different reliability growth behaviour, and although several different models have been proposed to estimate the reliability growth, none has proven to perform well considering different project characteristics. Because of this, some authors have introduced the use of Machine Learning techniques, such as neural networks, to obtain software reliability models. Neural network-based models, however, are not easily interpreted, and other techniques could be explored. In this paper, we explore an approach based on Genetic Programming, and also propose the use of Boosting techniques to improve performance. We conduct experiments with reliability models based on time, and on test coverage. The obtained results show some advantages of the introduced approach. The models adapt better to the reliability curve, and can be used in projects with different characteristics.

Links and resources

Tags