Testing is not adequate for ensuring the dependability of today’s multi-threaded systems. If we cannot rely on testing to demonstrate a software system’s dependability, then how are we to design and ...