What are pre-requisites to run Coderrect successfully on my project?
Coderrect requires Linux-based OS, such as Ubuntu 14+, and CentOS 7+.
To run Coderrect, you will need to compile your code successfully without Coderrect. For example, running make/cmake/Ninja/Bazel will build your project without errors.
How does Coderrect work internally?
Coderrect generates an intermediate representation of your source code in the form of LLVM bitcode (BC) files and then performs sophisticated static analyses based on them to find potential race conditions.
Coderrect produces a single BC file for each build binary (an executable, a static library, or a shared library).
Does Coderrect change my build binaries?
No. Coderrect intercepts your build commands but will not change your build targets. Running Coderrect will generate exactly the same build binaries as w/o Coderrect.
What source languages are supported?
What compilers are supported?
Coderrect supports most common C/C++ compilers (GCC/Clang/ICC). However, internally Coderrect will use clang to generate LLVM bitcode. So, it may not work if your code does not compile with clang, here is an example showing the difference between clang and gcc.
Coderrect also supports Fortran compilers including Flang/GFortran/IFORT.
Where can I find the output of the code scan results?
Besides the console output, there is an HTML file named index.html generated under ./report directory by default. You can specify the location of the report through “-o <directory>” option on the command line.
What license is Coderrect under?
Coderrect is currently under an Evaluation License, and is subject to change in the future.
I think that I have found a bug, what should I do?
Please contact us (email@example.com).
What does “Coderrect” mean, and how do you pronounce it?
Coderrect is a created word by combining “Code” and “Correct”. It simply means code-correct. Coderrect is pronounced code-rect.
Coderrect is a fast and scalable tool that finds race conditions in complex software.