1. A method for recognizing a pattern in a design of an integrated circuit (IC), comprising: a) identifying a pattern correspondence element in a pattern instance; b) building a pattern tree corresponding to the pattern instance; c) defining a list of candidate design correspondence elements in a design instance of the IC; and d) iteratively, for each design correspondence element in said list of candidate design correspondence elements, comparing each rank in a tree representation of said design instance built around said each design correspondence element with corresponding rank in said pattern tree.