Distinguish software faults and software failures
Ans: In case of a failure, the software does not do what the user expects. A fault is a programming error that may or may not really manifest as a failure. A fault can also be explained as an error in the correctness of the semantic of a computer program. A fault will become a failure if the exact computation conditions are met, one of them being that the faulty portion of computer software implements on the CPU. A fault can also turn into a failure when the software is ported to a dissimilar hardware platform or a dissimilar compiler, or when the software gets extended.