1. In a computer system having at least one processor and at least one user interface including at least one output device, a method for determining a vulnerability of a subject computer system, comprising a) generating in at least one processor an initial population of genotypes, wherein each individual in the population is a script which comprises a sequence of commands to be executed in the subject computer system, b) for each individual in the population, determining in at least one processor a response of the subject computer system to the individual upon providing the individual to at least one model of the subject computer system, c) for each said response of the subject computer system, determining in at least one processor an efficiency of the individual which generated said response based upon said response, d) based on at least one individual in the population having an efficiency which reveals a vulnerability of the subject computer system, presenting data related to the said individual to at least one user through at least one output device, and e) based on no individual in the population having an efficiency which reveals a vulnerability of the subject computer system, in at least one processor applying at least one genetic operator to at least one of the population of genotypes to obtain a further population of genotypes, and repeating step b).