For efficiency reasons, most modern processor architectures allow the reordering of CPU instructions, resulting in weak memory models. These models add extra program executions that are not intended by the programmer, often causing subtle run-time errors. To help solve this problem, such architectures also provide memory fences that allow to eliminate undesired behaviors. However, manual fence insertion, is a tedious and time- consuming activity, that also needs to be repeated each time the program is updated. Therefore, the development of efficient tools for automatic fence insertion is a crucial challenge in concurrent program design. In this thesis, we present, for the first time, a tool for automatic fence placement that is able to bre...
International audienceModern multicore processor architectures and compilers of shared-memory concur...
The work covered in this thesis concerns automatic analysis of correctness of parallel programs runn...
Correctness of concurrent objects is defined in terms of conditions that determine allowable relatio...
For efficiency reasons, most modern processor architectures allow the reordering of CPU instructions...
Model checking is a well understood method for verifying correctness of concurrent programs. Commonl...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Writing concurrent programs with shared memory is often not trivial. Correctly synchronising the thr...
Abstract—This paper addresses the problem of placing mem-ory fences in a concurrent program running ...
Shared memory has been widely adopted as the primary system level programming abstraction on modern ...
Abstract. When verifying a concurrent program, it is usual to assume that memory is sequentially con...
We present algorithms for checking and enforcing robustness of concurrent programs against the Total...
Abstract. We present algorithms for checking and enforcing robustness of concurrent programs against...
Correctness of concurrent objects is defined in terms of conditions that determine allowable relatio...
When a program is compiled and run on a modern architecture, different optimizations may be applied ...
Modern architectures implement relaxed memory models which may reorder memory operations or execute ...
International audienceModern multicore processor architectures and compilers of shared-memory concur...
The work covered in this thesis concerns automatic analysis of correctness of parallel programs runn...
Correctness of concurrent objects is defined in terms of conditions that determine allowable relatio...
For efficiency reasons, most modern processor architectures allow the reordering of CPU instructions...
Model checking is a well understood method for verifying correctness of concurrent programs. Commonl...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Writing concurrent programs with shared memory is often not trivial. Correctly synchronising the thr...
Abstract—This paper addresses the problem of placing mem-ory fences in a concurrent program running ...
Shared memory has been widely adopted as the primary system level programming abstraction on modern ...
Abstract. When verifying a concurrent program, it is usual to assume that memory is sequentially con...
We present algorithms for checking and enforcing robustness of concurrent programs against the Total...
Abstract. We present algorithms for checking and enforcing robustness of concurrent programs against...
Correctness of concurrent objects is defined in terms of conditions that determine allowable relatio...
When a program is compiled and run on a modern architecture, different optimizations may be applied ...
Modern architectures implement relaxed memory models which may reorder memory operations or execute ...
International audienceModern multicore processor architectures and compilers of shared-memory concur...
The work covered in this thesis concerns automatic analysis of correctness of parallel programs runn...
Correctness of concurrent objects is defined in terms of conditions that determine allowable relatio...