Preventing atomicity violations with contracts