CountingDataRaces: + small final value (e.g. 11) - extremely strange thread interleaving (scheduling): T1: 0. R0 -> 0->1 -> W1 ... 8. R8 -> 8->9 -> W9 ------------------------------------- T2: ------------------------------------- 0. R9 -> T1: 9. R9 -> ------------------------------------- T2: ------------------------------------- 9->10 -> W10 ------------------------------------- 1. R10 -> 10->11 -> W11 ... ... ------------------------------------- 9998. R10007 -> 10007->10008 -> W10008 T1: 9->10 -> W10 10. R10 -> ------------------------------------- T2: ------------------------------------- 9999. R10 -> T1: 10->11 -> W11 11. R11 -> 11->12 -> W12 ... ... 9999. R9999 -> 9999->10000 -> W10000 DONE! ------------------------------------- T2: ------------------------------------- 10->11 -> W11 ------------------------------------- DONE!