2.2 Fault Avoidance


Software fault avoidance aims to produce fault free software using various approaches that having the common
objective of reducing the number of defects in software programs.
The key factors to software fault avoidance are rigorous development process, strongly typed languages,
comprehensive standards, support tools and highly trained manpower and formal methods.
Fault avoidance includes:
Fault prevention attempts to eliminate any possibility of faults creeping into a system before it goes
operational.
Fault removal attempts to find and remove the causes of errors.
Fault forecasting includes a set of methods and techniques that intend to estimate the presence, the
creation, and the consequences of faults.
Fault avoidance helps to improve the quality of both the components and the systems.