|
||
Compilers sometimes generate correct sequential code but break the concurrency memory model of the programming language: these subtle compiler bugs are observable only when the miscompiled functions interact with concurrent contexts, making them particularly hard to detect. The cmmtest tool performs differential testing to hunt concurrency compiler bugs in C and C++ compilers against the C11/C++11 memory model. The tool is still under development but it already identified several mistaken write introductions and other unexpected behaviours in the latest release of the gcc compiler.
Resources:
The release 0.2 of cmmtest can be downloaded here. An incomplete readme is also available. Please contact Francesco Zappa Nardelli for problems with the installation procedure or doubts about the use of the tool.
People:
with contributions of Anirudh Kumar, Pankaj More and Pankaj Prateek.
|