Software cannot be seen nor touched, but it is successfully executed with the help of hardware. For successful execution and reliability, software reliability and software quality assurance is striving to identify and apply metrics to software products that promote and assess reliability. Software reliability is a product of quality, and software quality can be measured and improved by applying software metrics. Software Reliability is an important factor affecting on system reliability.
Software Reliability Definition and Concept:-
According to IEEE reliability means “The ability of a system or component to perform its required functions under stated conditions for a specified period of time.”
Software reliability is defined as “the probability of failure free operations and all intended function in a specified environment for a specified time period without experiencing failure.
The NASA Software Assurance Standard, NASA STD 8739.8, defines software reliability as a discipline of software assurance that:
1] Defines the requirements for software controlled system faults/failure detection, isolation and recovery
2] Review the software development processes and products for software error prevention and/or reduced functionality states; and
3] Defines the process for measuring and analyzing defects and defines the reliability and maintainability factors
Using these definitions, software reliability is comprised of following activities:
– Error prevention
– Fault detection
– Fault elimination
– Measurement to maximum reliability
There has been extensive work in measuring software reliability using mean time between failure (MTTF), mean time to failure (MTF) and mean time to repair (MTR)