1. A method comprising: testing a device driver of an operating system, the testing comprising: calling an application programming interface exposed by the operating system to determine a location of a target function of the device driver to modify on a computing device, the device driver compiled to inject place holder instructions as non-operative entry points into each function of the device driver including the target function; responsive to the calling, obtaining location information for the target function via the application programming interface; identifying a hook function within a code library to execute instead of the target function when a call is made to the target function, the hook function configured to test capabilities of the device driver and at least identify incompatible communication formats between the operating system and the device driver; and overwriting a place holder instruction injected into the target function with a jump instruction to cause execution of the hook function.