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.
- 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.