
Role of Software Reliability Models in Performance Improvement and Management 739
3. Software Dependability and Its Attributes
Software Reliability is one of the attributes to define de-
pendability (trustworthiness) of the software. The other
important attributes are availability, maintainability,
safety, confidentiality and integrity [1]. The availability
is the preparedness of the software for use. Unless the
software is available or fit for use, it is directly affecting
reliability and proper functioning of the software and
indirectly the performance of the software. The main-
tainability of the software deals with “down time” or
minimum Mean Time to Repair (MTTR) of a software/
system and ease with services are restored. This is one of
the important attribute which affects performance of the
system. Hence, both reliability and maintainability are
important to assure proper availability of the software
system to carry out stated functions or operations in
stipulated time. The functional failure or sub-optimal
functional behavior affects the performance and per-
formance improvement initiatives for the software.
The availability of a software system can be measured
in 3 different ways depending on the time elements taken
into consideration. They are Inherent availability, Achi-
eved availability and Operational availability [6].
Inherent availability is the probability that a software
system will operate satisfactorily when used under stated
conditions in an ideal support environment without any
scheduled or preventive maintenance [6]. The software
system includes both software and hardware. Hence, in-
herent availability is system availability which is given
as below
Inherent Availability, Ai = MTBF/(MTBF +MTTR)
where MTBF is Mean time between failures and MTTR
is mean time to repair [6]. It is obvious from above rela-
tion that in order to have higher inherent availability, the
MTTR should be as low as possible [7].
Illustration 2:
Let us assume a system is having MTBF of 10 execu-
tion hours (CPU Hrs) and MTTR which is equivalent to
1.6 execution hours (CPU Hrs), then
Inherent availability10101.60.8620
Achieved availability is taking into consideration ac-
tive maintenance down time resulting from both preven-
tive and corrective maintenance. Hence, achieved avail-
ability is given by following relationship [6].
Achieved availability, Aa = MTBM/(MTBM + M)
where MTBM is mean time between maintenance and M
is the mean active down time resulting from both preven-
tive and corrective maintenance. If preventive mainte-
nance and corrective maintenance are ignored, then
MTBM becomes MTBF. The achieved availability is
usually less than inherent availability of the system.
Illustration 3:
Let us assume a system with MTBM value of 8 execu-
tion hours (CPU Hrs) and M value equivalent to 4 execu-
tion hours (CPU Hrs ), t hen
Achieved availability is 8840.66
The operational availability considers supply down
time and administrative downtime which is given as fol-
lows [6].
Operational availability, Ao = MTBM/(MTBM +
MDT) where MTBM is mean time between maintenance
and MDT is supply downtime and administrative down-
time. Hence, operational availability is usually less than
inherent availability and achieved availability.
Illustration 4:
Consider the previous illustration with same value for
MTBM. But by assuming a MDTvalue equivalent to 6
execution hours, then
Operational availability = 8/(8 + 6) = 0.5714
The system availability (As) of a software system
which comprises both software and hardware compo-
nents is usually expressed as a complex function of reli-
ability (Rs), maintainability (Ms) and supply effectiveness
(Ss),
System Availability, As = f(Rs, Ms , Ss)
Hence, system availability is a function of tradeoff
between reliability and maintainability of the system with
stated value of supply effectiveness. As far as the system
is functioning properly without any failure, maintainabil-
ity will be low and all performance related issues and
performance improvement may be worked out according
to a stated plan. However, for a failed system in terms of
functions and performance which is under maintenance,
the maintainability issues of the system should be taken
into consideration along with changed reliability to work
out availability of the system. Hence, performance im-
provement and management should be addressed with
altered perspective.
The other attributes of dependability are safety, confi-
dentiality and integrity. The absence of serious conse-
quences to the environment is safety. The non-occur-
rence of unauthorized disclosure of information is called
confidentiality and absence of alteration of information is
called integrity [1]. These three attributes are very im-
portant to place highest trust on the functioning of soft-
ware. The functioning of the software and its improve-
ment in performance will not be useful unless the safety,
confidentiality and integrity is achieved for the software.
Hence, it is very essential to ensure dependability
(trustworthiness) of the software before launching on any
performance enhancement and management program.
The software should be built from requirements stage to
installation stage taking all six important dependability
attributes into account. Ignoring any of these attributes
will cost the organization to pay the customer in terms of
penalties and other types of compensation.
Copyright © 2012 SciRes. JSEA