1. A computer-implemented method for guiding a simulation of a System Under Test (SUT) to reach a coverage goal, the method comprising: receiving a coverage goal associated with the SUT; simulating an execution of the SUT using a processor; said simulating the execution of the SUT comprises: performing at least one non-deterministic decision of the SUT based on a probability function; producing a trace of the simulated execution; determining a measurement of similarity between the trace and an abstract trace covering the coverage goal; and in response to said determining the measurement of similarity, modifying the probability function.