Randomized differential testing has the advantage that no oracle for test results is needed.
It exploits the idea that if one has multiple, deterministic implementations of the same specification, all implementations must produce the same result from the same valid input.
When two implementations produce different outputs, one of them must be faulty.
Given three or more implementations, a tester can use voting to heuristically determine which implementations are wrong