When a program is compiled and run on a modern architecture, different optimizations may be applied to gain in efficiency. In particular, the access operations (e.g., read and write) to the shared memory may be performed in an out-of-order manner, i.e., in a different order than the order in which the operations have been issued by the program. The reordering of memory access operations leads to efficient use of instruction pipelines and thus an improvement in program execution times. However, the gain in this efficiency comes at a price. More precisely, programs running under modern architectures may exhibit unexpected behaviors by programmers. The out-of-order execution has led to the invention of new program semantics, called weak memory...
For efficiency reasons, most modern processor architectures allow the reordering of CPU instructions...
Most modern multiprocessors offer weak memory behavior to improve their performance in terms of thro...
We address the verification problem of finite-state concurrent pro-grams running under weak memory m...
When a program is compiled and run on a modern architecture, different optimizations may be applied ...
The work covered in this thesis concerns automatic analysis of correctness of parallel programs runn...
Formal verification of multithreaded software running on multi-core hardware has for long been chall...
Model checking is a well understood method for verifying correctness of concurrent programs. Commonl...
Weak memory models are used to increase the performance of concurrent programs by allowing program i...
Writing concurrent programs with shared memory is often not trivial. Correctly synchronising the thr...
Software verification is considered to be a hard computational problem vulnerable to the state explo...
Developing correct and performant concurrent systems is a major challenge. When programming an appli...
Hardware weak memory models, such as TSO and ARM, are used to increase the performance of concurrent...
International audienceConcurrent programs running on weak memory models exhibit re-laxed behaviours,...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Modern processors deploy a variety of weak memory models, which for efficiency reasons may (appear t...
For efficiency reasons, most modern processor architectures allow the reordering of CPU instructions...
Most modern multiprocessors offer weak memory behavior to improve their performance in terms of thro...
We address the verification problem of finite-state concurrent pro-grams running under weak memory m...
When a program is compiled and run on a modern architecture, different optimizations may be applied ...
The work covered in this thesis concerns automatic analysis of correctness of parallel programs runn...
Formal verification of multithreaded software running on multi-core hardware has for long been chall...
Model checking is a well understood method for verifying correctness of concurrent programs. Commonl...
Weak memory models are used to increase the performance of concurrent programs by allowing program i...
Writing concurrent programs with shared memory is often not trivial. Correctly synchronising the thr...
Software verification is considered to be a hard computational problem vulnerable to the state explo...
Developing correct and performant concurrent systems is a major challenge. When programming an appli...
Hardware weak memory models, such as TSO and ARM, are used to increase the performance of concurrent...
International audienceConcurrent programs running on weak memory models exhibit re-laxed behaviours,...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Modern processors deploy a variety of weak memory models, which for efficiency reasons may (appear t...
For efficiency reasons, most modern processor architectures allow the reordering of CPU instructions...
Most modern multiprocessors offer weak memory behavior to improve their performance in terms of thro...
We address the verification problem of finite-state concurrent pro-grams running under weak memory m...