Testing cannot cover all execution schedules in concurrent software. Model checking, however, is capable of verifying the outcome of all possible executions. It has been applied s...
Pipeline, Delta, and Black Hole are three simple patterns used in concurrent software design. We recently presented these and other patterns for parallelism at a nine-hour worksho...
Matthew C. Jadud, Jon Simpson, Christian L. Jacobs...
Transactional memory is being advanced as an alternative to traditional lock-based synchronization for concurrent programming. Transactional memory simplifies the programming mode...
Takayuki Usui, Reimer Behrends, Jacob Evans, Yanni...
Programs that use multi-threaded concurrency are known to be difficult to design. Moreover, research in computer-science education suggests that concurrency and synchronization co...
The applicability of aspects as a means of implementing runtime contract checking has been demonstrated in prior work, where contracts are identified as cross-cutting concerns [1...