Saturday, December 11, 2010

Software Reliability


The IEEE defines reliability as “The ability of a system or component to perform its required functions under stated conditions for a specified period of time.”   
Reliability is equated to correctness, that is, they look to testing and the number of “bugs” found and fixed. While finding and fixing bugs discovered in testing is necessary to assure reliability,
 a better way is to develop a robust, high quality product through all of the stages of the software lifecycle. That is, the reliability of the delivered code is related to the quality of all of the processes and products of software development; the requirements documentation, the code, test plans, and testing.
Software cannot be seen nor touched, but it is essential to the successful use of computers. It is necessary that the reliability of software should be measured and evaluated, as it is in hardware.
IEEE 982.1-1988 defines Software Reliability Management : The process of optimizing the reliability of software through a program that emphasizes software error prevention, fault detection and removal, and the use of measurements to maximize reliability in light of project constraints such  as resources, schedule and performance.”
Using these definitions, software reliability is comprised of three activities:
1. Error prevention
2. Fault detection and removal
3. Measurements to maximize reliability, specifically measures that support the first two activities There has been extensive work in measuring reliability using mean time between failure and mean time to failure :
Successful modeling has been done to predict error rates reliability . These activities address the first and third aspects of reliability, identifying and removing faults so that the software works as expected with the specified reliability. These measurements have been successfully applied to software as well as hardware. But in this paper, we would like to take a different approach to software reliability, one that addresses the second aspect of reliability, error prevention.

No comments:

Post a Comment