CHECKERS: a tool for concurrency testing of pthreads-based programs