Reliability Attributes in Software Development
Reliability attributes are the measure of software reliability. There many be many reliability requirements for different software but all the software have some common reliability measures. Reliability attributes for different categories of software products may be different. Therefore, it is necessary to specify the that the level of reliability required for a software product in the software requirements specification document.
There are some attributes that are required to significantly express the reliability of a software product. A good reliability measure should be dependent of observer so that different people can agree on the degree of reliability that a system has.
For example, there are various techniques for measuring performance which possibly would result in obtaining the same performance value irrespective of who is carrying out the performance measurement. But practically it is very difficult to formulate a precise reliability measurement technique. The next base case is to have measures that relate with reliability.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
There are six reliability attributes which can be used to express the reliability of a software product.
Rate of occurrence of failure (ROCOF) :
ROCOF measures the frequency of occurrence of unexpected behavior of the software. It basically measures howmay times the software product fails. ROCOF measure of a software product can be obtained by having the record of the behavior of a software product. ROCOF is basically the total number of failures occurring during the specified time interval.
Mean Time To Failure (MTTF) :
The average time between two successive failures is known as MTTF. It is obtained by observing a large number of failures in the software product. To measure MTTF, failure data for n failures is recorded.
If the failures occur at the time instants T1, T2, …, Tn then MTTF can be calculated as:
MTTF = ( (T2 - T1) + (T3 - T2) + ... + (Tn+1 - Tn) ) / (n-1)
It is notable that only run time is considered in the time measurements. The time for which the system is down to fix the error, the boot time and any other negligible time are neglected and are not included in the time measurements.
Mean Time To Repair (MTTR) :
When the software fails, it requires sometime to fix the error. MTTR is the measure of the average time system takes to find the errors that cause the failure and to fix them.
Mean Time Between Failure (MTBR) :
MTBR attribute can be obtained by combining the MTTF and MTTR attributes.
MTBF = MTTF + MTTR
Thus, MTBF indicates that once a failure occurs, the next failure is expected after same time. In this case, time measurements are real time and not the execution time like MTTF.
Probability of Failure on Demand (POFOD) :
This attribute does not involve time measurements like the other attributes. POFOD measures the behavior of the system failing when a service request is made.
For example, if POFOD measures 0.001 then it means that out of every 1000 one time the service requests would result in a failure.
Availability of a system is a measure of possibility of availability of the system for use over a given period of time. It considers the number of failures occurring during a time interval. It also takes into measure the down time of a system when a failure occurs. This attribute is important for systems which are supposed to be never down. This plays a vital role in telecommunication systems and operating systems. These systems need to run even during the repair time.