1. A method for testing software patches, the method comprising: injecting a software patch into a program; running multiple instances of a part of the program containing the software patch; obtaining outcomes of the multiple instances; and determining, using the outcomes, whether the software patch is executed correctly.