User evaluation of correctness conditions
Caitlin Sadowski, Jaeheon Yi · Evaluation and Usability of Programming Languages and Tools · 2010
In order to find and fix concurrency bugs, programmers must reason about different possible thread interleavings -- context switches may occur at any program point, all with the potential for thread interference. To reduce the number of thread interference points to consider, the correctness criterion of cooperability ensures that code executes as if context switches may happen only at specific yield annotations. This paper provides empirical evidence that co-operability makes it easier to find concurrency bugs.