Concurrent programs are difficult to write, reason about, re-use, and maintain. In particular, for system-level ions that use a shared memory abstraction for thread or process synchronization, the current practice
Chidamber Kulkarni, Gordon J. Brebner