Abstract

As software failures in critical systems could be life threatening and catastrophic, the increase in software-based controls for safety operations demand a systematic evaluation of software reliability. To understand the dynamics behind building reliable software, not only is it important to estimate software reliability with high confidence, it is necessary to study the factors that are likely to affect software reliability. This is especially important for systems that are yet to be certified to be used in the field, i.e. have no operational history. Such systems are often difficult to analyze as no or little operational information is available. This paper attempts to generalize the following relationships in safety-critical software: (i) software reliability versus number of faults in software, (ii) software reliability versus results of static and dynamic analysis, and (iii) software reliability versus safety. The present study reports and discusses results observed in safety- critical software in nuclear reactors using mutation-based testing. The results observed in the case studies indicate that (i) reliability estimates based on number of bugs present in software are likely to be inaccurate for safety-critical software, (ii) the relationship between reliability and errors observed during dynamic analysis indicates that the average warnings and errors decrease exponentially as the reliability increases. No conclusive relationship was found between software reliability and warnings observed during static analysis; and (iii) for safety-critical software, the required safety can be achieved by improving the reliability, however the converse is not always true.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call