robust nonparametric statistical framework called
ReScaled range (R/S) analysis. This type of analysis
ing process should play a central role in the
pla
ast five years. We are trying to
bui
is able to detect the presence (or absence) of long-
term dependence, thus characterizing the system
under study as persistent / deterministic (or mean-
reverting / antipersistent).
The results of the R/S analysis on six different
software failure dataseries suggested a random
explanation, revealing strong antipersistent behavior.
The validity of these results was tested against the
Ga
ussian and iid-null hypotheses and both
alternatives were rejected with highly significant
statistical values. Our findings are consistent with
other reports in the international literature that
comment on the random nature of software failures
in terms of number and time of occurrence. Going a
step further and relating the values of the Hurst
exponent estimated via the R/S analysis with colored
noise, we concluded that the six series examined are
better described by a pink noise structure.
Two well known and successful software
reliability growth models, namely the Musa Basic
(MB) and the Musa-Okumoto (MO) logarithmic
model, were used to reproduce sample series of
tim
es between failures. The new series were also
tested with R/S analysis and found to be long-term
dependent in the case of the MB data and
antipersistent in the case of the MO series. The latter
finding justifies the superiority of the MO model
over a variety of other SRGM tested on a number of
actual projects: The MO model is ruled by the same
structure as the empirical software failure data (i.e.
mean reverting), thus it can capture the actual
behavior of software failures better.
The framework for statistical characterization of
empirical software failure data proposed by the
present work can assist towards the identification of
possible weaknesses in the assumptions of SRGMs
and
suggest the most suitable and accurate model to
be used for controlling the reliability level of the
software product under development.
One thing that remains to investigate, and this
will be the focus of our future work, is the high
value of the Hurst exponent for the MB series.
Chaotic systems have also Hurst exponents H > 0.5,
and
in chaotic terms long memory effects
correspond to sensitive dependence on initial
conditions. Actually, the latter property combined
with fractality characterises chaotic systems. Pure
chaotic processes have Hurst exponents close to 1.
Our future research will concentrate on employing
R/S analysis to detect the existence of cycles (i.e.
repeating patterns) in the MB series and will attempt
to characterise it in terms of periodicity: Cycles
detected can be periodic or non-periodic in the sense
that the system has no absolute frequency. Non-
periodic cycles can be further divided to statistical
cycles and chaotic cycles. Fractal noises exhibit
statistical cycles, i.e. cycles with no average cycle
length.
Software Reliability is cited by the majority of
users as the most important feature of software
products. Hence, the software reliability
engineer
nning and control of software development
activities (Musa, 1999) to ensure that product
reliability meets user needs, to reduce product costs
and to improve customer satisfaction. In this context,
it is quite important to record and study the time of
fault occurrences, their nature and the time spent on
correction, throughout the design and
implementation phases, as well as during testing
activities. This data can prove very useful when
trying to model the reliability behavior of the
software product being developed and it can also
play a central role to the empirical verification of
Software Reliability Growth Models (SRGMs).
With such data available it is easier to select suitable
reliability models for estimating the time at which
the software product will have reached a desirable
level of reliability, and/or to devise methods to
decrease that time. As we mentioned before, the
datasets used in this study were gathered by John
Musa around mid seventies. Although the datasets
are quite old, we believe that their analysis is a good
starting point for studying the behavior of software
failure occurrences.
Currently we are making efforts towards
gathering synchronous failure data, that is, data from
systems that have been developed and are in
operation during the l
ld a database with failure data from various
modern application domains and operating systems.
In our days, where most computer applications and
operating systems are multitasking and/or
distributed, it is very interesting to elaborate on how
to gather accurate failure data. This problem, the
definition of the right metrics to assess software
reliability, has a particular interest due to the fact
that software products nowadays include some new
and unique characteristics, such as distribute
computing, mobility and web accessibility /
immediacy. Once this reliability data gathering is
accomplished, we will be able to compare the
characteristics of modern reliability data with those
of the datasets developed by Musa in the 70ies, and
investigate whether the random nature of software
failure occurrences revealed by the R/S analysis
ICEIS 2005 - DATABASES AND INFORMATION SYSTEMS INTEGRATION
144