Writing correct concurrent code that uses atomics under the C/C++ memory model is extremely difficult. This thesis presents C11Tester, a race detector for the C/C++ memory model that can explore executions in a larger fragment of the C/C++ memory model than previous race detector tools. Relative to previous work, C11Tester's larger fragment includes behaviors that are exhibited by ARM processors. C11Tester uses a new constraint-based algorithm to implement modification order that is optimized to allow C11Tester to make decisions in terms of application-visible behaviors. This thesis evaluates C11Tester on several benchmark applications, and compare C11Tester's performance to both tsan11rec, the state of the art tool that controls scheduli...
Hardware Synthesis of Weakly Consistency C Concurrency This webpage contains additional material fo...
This project investigated different types of data races that can exist within C code, and then incre...
Concurrent programs are executed by multiple threads that run simultaneously. While this allows prog...
<p>We have long relied on increased raw computing power to drive technological progress. However, pr...
Poster for C11Tester project. The C11Tester project has developed libraries that allow researcher t...
The intricate rules for memory ordering and synchronisation associated with the C/C++11 memory model...
The C11 standard introduced atomic types and operations, with an accompanying memory model, to enabl...
Compilers sometimes generate correct sequential code but break the concurrency memory model of the p...
Testing a compiler is an important, but complicated task, especially when compiling and running conc...
International audienceCompilers sometimes generate correct sequential code but break the concurrency...
Modern multiprocessors architectures and programming languages exhibit weakly consistent memories. T...
A data race condition occurs when multiple processes of a parallel program with a shared memory spac...
In this paper we present a precise data race detection tech-nique for distributed memory parallel pr...
The upcoming C and C++ revised standards add concurrency to the languages, for the first time, in th...
Multicore architectures are an increasingly important technique used to achieve increased performanc...
Hardware Synthesis of Weakly Consistency C Concurrency This webpage contains additional material fo...
This project investigated different types of data races that can exist within C code, and then incre...
Concurrent programs are executed by multiple threads that run simultaneously. While this allows prog...
<p>We have long relied on increased raw computing power to drive technological progress. However, pr...
Poster for C11Tester project. The C11Tester project has developed libraries that allow researcher t...
The intricate rules for memory ordering and synchronisation associated with the C/C++11 memory model...
The C11 standard introduced atomic types and operations, with an accompanying memory model, to enabl...
Compilers sometimes generate correct sequential code but break the concurrency memory model of the p...
Testing a compiler is an important, but complicated task, especially when compiling and running conc...
International audienceCompilers sometimes generate correct sequential code but break the concurrency...
Modern multiprocessors architectures and programming languages exhibit weakly consistent memories. T...
A data race condition occurs when multiple processes of a parallel program with a shared memory spac...
In this paper we present a precise data race detection tech-nique for distributed memory parallel pr...
The upcoming C and C++ revised standards add concurrency to the languages, for the first time, in th...
Multicore architectures are an increasingly important technique used to achieve increased performanc...
Hardware Synthesis of Weakly Consistency C Concurrency This webpage contains additional material fo...
This project investigated different types of data races that can exist within C code, and then incre...
Concurrent programs are executed by multiple threads that run simultaneously. While this allows prog...