CodePeer – Automated Code Review and Validation

CodePeer assesses a program for bugs before it is executed using control-flow, data-flow, and other static analysis techniques, in effect serving as an automated peer review. It can be used very early in the development life-cycle to identify problems when defects are exponentially less costly to repair.

CodePeer, developed in partnership with SofCheck Inc, is a standalone tool that may be used with any Ada compiler or fully integrated into the GNAT Pro development environment.

Key Features

  • Tight integration with the GNAT Pro compiler, so CodePeer can be run on project compiled with GNAT Pro.
  • Scalability given by the compiler-like inner working of CodePeer, which generates subprogram summaries to be used in callers.
  • The ability to analyse a subprogram or a package in isolation, thus avoiding a driver that gives a calling context.
  • The ability to detect logic errors such as assigning to a variable that is never subsequently referenced or testing a condition that always evaluates to the same true or false value.
  • Automatically generates both human-readable and machine-readable component specifications: preconditions and postconditions, inputs and outputs, heap allocations.
  • Warnings ordered by ranking, so that more severe and likely errors are treated first.