CHAPTER 7 Software Dependability
Learning objectives of this chapter are to understand:
• The application of fault avoidance and fault elimination in the software lifecycle.
• The techniques available for avoiding faults in software.
• The techniques available for eliminating faults in software.
• Which phases of the software lifecycle tend to introduce the most faults.
• The best way to approach software dependability.
• Formal methods and why are they important.
• How an engineer can be reasonably confident that the various classes of faults that might occur in a system have been dealt with.
7.1 Faults and the Software Lifecycle
Software has been a causal factor in many failures of systems that required high levels of dependability. ...