TwinDrivers: semi-automatic derivation of fast and safe hypervisor network drivers from guest OS drivers