1. A method for verifying a design, comprising the steps of: executing test programs on said design, said test programs being generated responsively to directives, execution of said test programs causing occurrences of events that are associated with said directives; analyzing said occurrences in order to determine a coverage of a coverage space of said design by said test programs; responsively to said step of analyzing, defining a set of non-covered events of said coverage space; defining a cluster of said non-covered events according to similarities in respective ones of said directives with which said non-covered events are associated; associating a new directive with said non-covered events in said cluster; and generating a new test program responsively to said new directive for re-execution on said design.