Technical Specification Version #

Download a PDF version here.

Overview #

Coderrect is a fast static detector for C/C++/Fortran/OpenMP multi-threaded bugs.

Coderrect identifies critical race conditions in high-performance, highly-concurrent C/C++/Fortran code. Precise location and call stack trace leading to the race are provided to help developers understand how to fix them quickly. Coderrect seamlessly integrates automated testing into your CI/CD pipelines and supports your existing development tools and workflows.

Key features #

Fast and accurate analysis

  • Coderrect’s “analysis without running” feature enables developers to detect race conditions without running the program. Simply prepend “coderrect” to your project build command line, and Coderrect will automatically analyze the code.
  • Coderrect supports three modes: fast, normal, and full. Fast mode allows developers to analyze the project with hundreds of lines of code in tens of seconds. Full mode allows exhaustively checking all execution paths for most subtle issues.

Comprehensive reporting

  • Coderrect provides developers all the information they need to understand how to fix the issues identified, including detailed descriptions, categories, shared variables, code snippets, and stack traces. 
  • Developers can choose to view a terminal-based report or to generate a HTML-based detail report.

Software development life cycle integrations

  • Coderrect supports native integration for Github.
  • Coderrect provides plugins and integration for Jenkins.

OpenMP Support

  • Specially designed analysis for OpenMP regions.
  • Support for common OpenMP features:
    • parallel, for, barrier, master, single, reduction, atomic, critical, target, and more.
  • Specialized array index analysis for detecting data races on arrays and matrices.
  • Support for OpenMP offloaded to GPUs through the target construct.

Technical Specification #

Supported Compilers

  • Clang
  • Intel C++
  • GNU GCC/G++
  • GFortran/G77
  • Flang

Critical checks

  • Atomicity violations
  • Order violations
  • Deadlocks
  • Data races
  • Time of check to time of use (TOCTOU)

Supported Operating Systems

  • Ubuntu 14.04+
  • CentOS 7+
  • Redhat 7+
  • Debian 8+
  • Arch

SDLC native integrations

  • Github
  • Jenkins 2+

Powered by BetterDocs