Tuesday, April 7, 2020

softwarereliability


Software Reliability

Reliability of a software product can be defined as the probability of the product working correctly over a given period of time.

Why software reliability is difficult to measure?

-          The reliability improvement due to fixing a single bug depends on where the bug is located in the code.
-          The perceived reliability of a software product is highly observer-dependent.
-          The reliability of a product keeps changing as errors are detected and fixed.

Reliability Metrics

Reliability metrics are used to quantitatively expressed the reliability of the software product. The option of which metric is to be used depends upon the type of system to which it applies & the requirements of the application domain.
Some reliability metrics which can be used to quantify the reliability of the software product are as follows:

1. Mean Time to Failure (MTTF)
MTTF is described as the time interval between the two successive failures. An MTTF of 200 mean that one failure can be expected each 200-time units. The time units are entirely dependent on the system & it can even be stated in the number of transactions. MTTF is consistent for systems with large transactions.
For example, It is suitable for computer-aided design systems where a designer will work on a design for several hours as well as for Word-processor systems.
To measure MTTF, we can evidence the failure data for n failures. Let the failures appear at the time instants t1,t2.....tn.
MTTF can be calculated as

2. Mean Time to Repair (MTTR)

Once failure occurs, some-time is required to fix the error. MTTR measures the average time it takes to track the errors causing the failure and to fix them.

3. Mean Time Between Failure (MTBR)

We can merge MTTF & MTTR metrics to get the MTBF metric.
                  MTBF = MTTF + MTTR
Thus, an MTBF of 300 denoted that once the failure appears, the next failure is expected to appear only after 300 hours. In this method, the time measurements are real-time & not the execution time as in MTTF.

4. Rate of occurrence of failure (ROCOF)

It is the number of failures appearing in a unit time interval. The number of unexpected events over a specific time of operation. ROCOF is the frequency of occurrence with which unexpected role is likely to appear. A ROCOF of 0.02 mean that two failures are likely to occur in each 100 operational time unit steps. It is also called the failure intensity metric.

5. Probability of Failure on Demand (POFOD)
POFOD is described as the probability that the system will fail when a service is requested. It is the number of system deficiency given several systems inputs.
POFOD is the possibility that the system will fail when a service request is made.
POFOD of 0.1 means that one out of ten service requests may fail.POFOD is an essential measure for safety-critical systems. POFOD is relevant for protection systems where services are demanded occasionally.

6. Availability (AVAIL)

Availability is the probability that the system is applicable for use at a given time. It takes into account the repair time & the restart time for the system. An availability of 0.995 means that in every 1000 time units, the system is feasible to be available for 995 of these. The percentage of time that a system is applicable for use, taking into account planned and unplanned downtime. If a system is down an average of four hours out of 100 hours of operation, its AVAIL is 96%.

 Difference between software and hardware reliability 

software reliability...
Software Reliability is the probability of failure-free software operation for a specified period of time in a specified environment. Software Reliability is also an important factor affecting system reliability...
hardware reliability...
A statement of the ability of hardware to perform its functions for some period of time. It is usually expressed as MTBF (mean time between failures). A Dictionary of Computing. × "hardware reliability"...
During test cycles the reliability of software tends to change constantly. While the hardware reliability can modify at certain durations, including the original burn in or the finish of lifespan, but has a much nasty tendency than the value of operating system.
Software is a compilation of file activated on your hard disk, whereas Hardware is any physical machine are using in your device.
Software Reliability is the possibility of a catastrophe-free deployment of the software for a specified time period in a given atmosphere, whereas The statement of the capacity of hardware to execute its operations for a certain period of time.

No comments:

Post a Comment