Software Model Checking with Explicit Scheduler and Symbolic Threads (Logical Methods in Computer Science, 2012)