We present a proof calculus and method for the static verification of assertions and procedure specifications in shared-memory concurrent programs. The key idea in our approach is...
Parallel programming is seen as an effective technique to improve the performance of computationally-intensive programs. This is done at the cost of increasing the complexity of t...
John Anvik, Jonathan Schaeffer, Duane Szafron, Kai...
Abstract. In the quest for tractable methods for reasoning about concurrent algorithms both rely/guarantee logic and separation logic have made great advances. They both seek to ta...
Writing concurrent programs is notoriously difficult, and is of increasing practical importance. A particular source of concern is n correctly-implemented concurrency abstraction...
Tim Harris, Simon Marlow, Simon L. Peyton Jones, M...
The Java memory model described in Chapter 17 of the Java Language Specification gives constraints on how threads interact through memory. This chapter is hard to interpret and po...