Home | Contact | Pricing | News | Events | Partners | Mailing List | Site Map

Code Peer – Automated Code Review and Validation

Source Code Analysis Tool

CodePeer is a source code analyzer that detects run-time and logic errors in Ada programs. Serving as an efficient and accurate code reviewer — in effect it’s like having an expert assistant by your side helping you find errors fast and early in the development life-cycle.


CodePeer Features

CodePeer identifies constructs that are likely to lead to run-time errors such as buffer overflows, and it flags legal but suspect code typical of logic errors. Going well beyond the capabilities of typical static analysis tools, CodePeer also produces a detailed analysis of each subprogram, including pre and postconditions.

Here are some of the major features of CodePeer:

  • Uses static control-flow, data-flow, and possible-value-set propagation techniques to detect errors before program execution
  • Mathematically analyzes every line of code without executing the program, considering all combinations of program input across all paths within the program
  • Analyzes programs for a wide range of flaws including
    • use of uninitialized data
    • pointer misuse
    • buffer overflow
    • numeric overflow
    • division by zero
    • dead code
    • concurrency faults (race conditions)
  • Identifies not only where a failure could occur, but also where the bad values originate
    • within the current subprogram
    • from some non-local subprogram that reached the point of failure through a series of calls
  • Detects code that, although syntactically and semantically correct, is performing a suspect computation such as:
    • assigning to a variable that is never subsequently referenced
    • 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

CodePeer also includes a number of complementary static analysis tools common to the GNAT Pro technology – a coding standard verification tool (GNATcheck), a program metric generator (GNATmetric), a semantic analyzer, and a document generator – that can be invoked through the GNAT Programming Studio (GPS) IDE.

View a list of supported Platforms »

CodePeer Find the Bug Challenge Insight Webinar Series - Introducing CodePeer Learn about the other side of GNAT Pro