next up previous
Next: Classification of software faults Up: Software Failure and Classification Previous: Software Failure and Classification

What is a software failure?

According to Laprie et al. [20], ``a system failure occurs when the delivered service no longer complies with the specifications, the latter being an agreed description of the system's expected function and/or service''. This definition applies to both hardware and software system failures. Faults or bugs in a hardware or a software component cause errors. An error is defined by Laprie et al. [20] as that part of the system which is liable to lead to subsequent failure, and an error affecting the service is an indication that a failure occurs or has occurred. If the system comprises of multiple components, errors can lead to a component failure. As various components in the system interact, failure of one component might introduce one or more faults in another. Figure 1 shows this cyclic behavior.


  
Figure 1: Fault behavior
\begin{figure}
\centerline{\psfig{file=fault.eps,width=6in}}
\end{figure}