Patent ID: 7356736

Claim:
A computer-implemented method of testing a program in a virtual environment to determine whether the program includes damaging software or a virus, the method comprising: providing a simulated computer system in a real computer system, the simulated computer system including software modules for simulating resources including hardware devices and software; executing a program under test, P test , in the simulated computer system until a stop condition occurs; and determining whether a simulated resource has been written to or accessed, and if so, reassigning P test to be at least a portion of a simulated resource that was written to or accessed, and thereafter re-executing P test in the simulated computer system until a stop condition occurs; and determining whether re-execution of P test causes a similar action or whether the simulated computer is unbootable, wherein if both steps of determining show the same or a similar result, the program under test is identified as including a virus, wherein if the simulated computer is unbootable upon re-execution, the program under test is identified as including damaging software, and wherein otherwise the program under test is identified as not containing damaging software or a virus.