Safe and Reliable Use of Concurrency in Multi-Threaded Shared-Memory Systems
R. E. Kurt Stirewalt, Reimer Behrends, Laura K. Dillon · 2006
The safe and reliable use of concurrency in multi-threaded systems has emerged as a fundamental engineering concern. We recently developed a model of synchronization contracts to address this concern in programs written in object-oriented languages. Programs written using our model comprise modules that declare access requirements in module interfaces in lieu of using low-level synchronization primitives in module implementations. At run time, these contracts are negotiated to derive schedules that guarantee freedom from data races while avoiding a large class of deadlock situations