Synthesis of online diagnostic techniques for embedded systems