5. For the programming language with which you are most familiar, search for a set of rules about programming designed to promote fault avoidance as discussed in Section 5.2.2.
6. What type of approach to dealing with faults is software testing? Explain your answer.
7. For a software fault in a program that you have written, document the fault and discuss the failure semantics of the fault.
8. For the software fault that is the subject of Exercise 7, discuss what would be needed to tolerate the fault during execution.