1. A system, comprising: a memory coupled to a bus system, wherein the memory comprises computer useable program code; one or more processing units, wherein the one or more processing units execute the computer useable program code to provide for: one or more dynamic monitors respectively configured to detect program errors of an application during runtime, further comprising an engine module configured to associate the one or more dynamic monitors with the application, wherein the engine module is further configured to hook APIs employed by the application by modifying an import address table of the application to redirect API calls to the one or more dynamic monitors and to chain two or more dynamic monitors from a single API; and a concurrency fuzzing module configured to selectively randomize a thread schedule associated with the application, wherein the one or more dynamic monitors to check the application in a variety of concurrency scenarios due to the randomized thread schedule and the concurrency fuzzing module randomizes the thread schedule to increase a likelihood of the one or more dynamic monitors detecting program errors.