Parallel programs often are non-deterministic in their nature, what
greatly complicates testing, debugging, verifying and analyzing such programs. On
a uniprocessor, interleaving actions of the system scheduler (thread switches) can
be thought of as source of nondeterminism. The precise detection of these actions
helps many tasks, especially the schedule-based execution...