
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