Locks are a frequently used synchronisation mechanism in shared memory concurrent programs. They are used to enforce atomicity of certain code portions, avoid undefined behaviour due to data races, and hide weak memory effects of the underlying hardware architectures (i.e., they provide the illusion of interleaved execution). To provide these guarantees, the correct interplay of a number of subsystems is required. We distinguish between the application level, the transformation level, and the hardware level. On the application level, the programmer is required to correctly use the locks. This amounts to avoiding data races, deadlocks, and other errors in using the locking primitives, such as unlocking a lock that is not currently he...
International audienceConcurrent programs running on weak memory models exhibit re-laxed behaviours,...
Abstract: "An important class of concurrent objects are those that are lock-free, that is, whose ope...
International audienceDeadlock analysis of multi-threaded programs with reentrant locks is complex b...
Locks are a frequently used synchronisation mechanism in shared memory concurrent programs. They are...
With the introduction of multi-core CPUs, multi-threaded programming is becoming significantly more ...
Manually detecting bugs in concurrent programs is hard due to the myriad of thread interleavings tha...
Abstract. This paper presents an expressive specification and verifica-tion framework for ensuring d...
Abstract. We present a code transformation for concurrent data struc-tures, which increases their sc...
Concurrent object-oriented programming languages coordinate conflicting memory accesses through lock...
AbstractDeadlocks are a common error in programs with lock-based concurrency and are hard to avoid o...
When optimizing a thread in a concurrent program (either done manually or by the compiler), it must ...
From the introduction to concurrency, we saw one of the fundamental problems in concurrent programmi...
Modern multi-core processors provide primitives to allow parallel programs to atomically perform sel...
Locks have been widely used as an effective synchroniza-tion mechanism among processes and threads. ...
When optimizing a thread in a concurrent program (either done manually or by the compiler), it must ...
International audienceConcurrent programs running on weak memory models exhibit re-laxed behaviours,...
Abstract: "An important class of concurrent objects are those that are lock-free, that is, whose ope...
International audienceDeadlock analysis of multi-threaded programs with reentrant locks is complex b...
Locks are a frequently used synchronisation mechanism in shared memory concurrent programs. They are...
With the introduction of multi-core CPUs, multi-threaded programming is becoming significantly more ...
Manually detecting bugs in concurrent programs is hard due to the myriad of thread interleavings tha...
Abstract. This paper presents an expressive specification and verifica-tion framework for ensuring d...
Abstract. We present a code transformation for concurrent data struc-tures, which increases their sc...
Concurrent object-oriented programming languages coordinate conflicting memory accesses through lock...
AbstractDeadlocks are a common error in programs with lock-based concurrency and are hard to avoid o...
When optimizing a thread in a concurrent program (either done manually or by the compiler), it must ...
From the introduction to concurrency, we saw one of the fundamental problems in concurrent programmi...
Modern multi-core processors provide primitives to allow parallel programs to atomically perform sel...
Locks have been widely used as an effective synchroniza-tion mechanism among processes and threads. ...
When optimizing a thread in a concurrent program (either done manually or by the compiler), it must ...
International audienceConcurrent programs running on weak memory models exhibit re-laxed behaviours,...
Abstract: "An important class of concurrent objects are those that are lock-free, that is, whose ope...
International audienceDeadlock analysis of multi-threaded programs with reentrant locks is complex b...