Intrinsic software redundancy for self-healing software systems and automated oracle generation