Thread-based multi-engine model checking for multicore platforms