1. A method for analyzing a predetermined program flow including a plurality of execution steps on a physical computer system operable to execute the predetermined program flow, the system including a plurality of interacting physical hardware units, the method comprising the following steps: generating, by a hypervisor, a virtual hardware unit corresponding with a physical hardware unit of the physical computer system; replicating, by the hypervisor, a computing service provided by the physical hardware unit as a computing service provided by the virtual hardware unit in order to develop at least part of a virtual computer system which corresponds to the physical computer system; executing the predetermined program flow a first time using the replicated computing services of the virtual hardware unit, and monitoring a first execution behavior of the virtual hardware unit, wherein execution of the replicated computing services of the virtual hardware unit simulates a non-defective operation of the physical hardware unit; varying, by the hypervisor, the replicated computing service to provide a varied computing service of the virtual hardware unit, the varied computing service simulating a defect in the physical hardware unit; executing the predetermined program flow a second time using the varied computing service of the virtual hardware unit, and monitoring a second execution behavior of the virtual hardware unit, wherein execution of the varied computing services of the virtual hardware unit simulates a defective operation of the physical hardware unit; identifying an execution behavior change by comparing the first execution behavior of the virtual hardware unit with the second execution behavior of the virtual hardware unit; and based on the identified execution behavior change of the virtual hardware unit, changing the program flow for subsequent execution on the physical hardware unit to avoid the simulated defective operation of the physical hardware unit.