A part of availability involves how a software system can handle and overcome faults so that the duration of an unplanned outage does not exceed the specified value over a particular amount of time.
A system fault is a characteristic of a software system that can lead, either on its own or in conjunction with other faults, to a system failure. A system fault exists somewhere in the code. An error is an erroneous state of the software system caused by one or more faults. A system failure is an event experienced by a user in which the software system does not behave as expected. System failures are caused by one or more faults.
In order to handle and overcome faults and prevent failures, we can attempt to detect faults, recover from faults, or prevent faults.