1. A system for detecting a data race in a concurrent program, the system comprising: a program sequentializer module configured to accept a concurrent program as input and create as output a sequential program having assertions; wherein the assertions cause an error message to be produced when the concurrent program contains a data race.