1. A method for classifying software, said method comprising: identifying at least one of a functional block and a property of said software; identifying one or more genes in said at least one of a functional block and a property of said software; matching said one or more genes against one or more classifications defined by a groupings of genes; and classifying said software based on said one or more classifications.