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.
%0 Journal Article
%1 Costa:2007:ieeeTR
%A Costa, Eduardo Oliveira
%A de
Souza, Gustavo Alexandre
%A Pozo, Aurora Trinidad Ramirez
%A Vergilio, Silvia Regina
%D 2007
%J IEEE Transactions on Reliability
%K Fault algorithms, genetic learning machine models prediction, programming, reliability software techniques,
%N 3
%P 422--434
%R 10.1109/TR.2007.903269
%T Exploring Genetic Programming and Boosting Techniques
to Model Software Reliability
%V 56
%X 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.
@article{Costa:2007:ieeeTR,
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.},
added-at = {2008-06-19T17:35:00.000+0200},
author = {Costa, Eduardo Oliveira and {de
Souza}, Gustavo Alexandre and Pozo, Aurora Trinidad Ramirez and Vergilio, Silvia Regina},
biburl = {https://www.bibsonomy.org/bibtex/2961d4c21a09c8b2d4e6ff26ab0da73d5/brazovayeye},
doi = {10.1109/TR.2007.903269},
interhash = {5399c1d981b557e1dbe2852f21e34e6e},
intrahash = {961d4c21a09c8b2d4e6ff26ab0da73d5},
issn = {0018-9529},
journal = {IEEE Transactions on Reliability},
keywords = {Fault algorithms, genetic learning machine models prediction, programming, reliability software techniques,},
month = {September},
number = 3,
pages = {422--434},
timestamp = {2008-06-19T17:38:09.000+0200},
title = {Exploring Genetic Programming and Boosting Techniques
to Model Software Reliability},
volume = 56,
year = 2007
}