Software-Implemented Fault Detection Approaches