Finding Concurrency Bugs in Java
A type and effect system for atomicity