A system may fail due to an internal bug or a fault in its exe- cution environment. Incorporating fault tolerance strategies enables such system to complete its function despite the fail- ure of some of its parts. Prior to the execution of some fault tolerance strategies, failure detection is needed. Detecting incorrect output, for instance, assumes the existence of an oracle to check the correctness of program outputs given an input. However, in many practical situations, oracle does not exist or is extremely dicult to apply. Such an ora- cle problem is a major challenge in the context of software testing. In this paper, we propose to apply metamorphic testing, a software testing method that alleviates the ora- cle problem, into fault tolerance. The proposed technique supports failure detection without the need of oracles.
展开▼