User evaluation of correctness conditions

Caitlin Sadowski, Jaeheon Yi
2010 Evaluation and Usability of Programming Languages and Tools on - PLATEAU '10  
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 cooperability makes it easier to find concurrency bugs.
doi:10.1145/1937117.1937119 fatcat:c7sl4p6yprdmrjbxz5bzeozaeu