Metamorphic fault tolerance: An automated and systematic methodology for fault tolerance in the absence of test oracle