Software analyzes run-time and logic errors
CodePeer is an Ada source code analyzer that detects run-time and logic errors. Developed by Adacore, it assesses potential bugs before program execution, serving as an automated peer reviewer, helping to find errors at any stage of the development life cycle. The goal of CodePeer, say Adacore documents, is to help developers gain a deep understanding of their code and build more reliable and secure software systems. It aims to help developers improve the quality of their code and make it easier to perform safety and security analysis.
As a stand-alone tool, CodePeer runs on Windows and Linux platforms and may be used with any standard Ada compiler or fully integrated into the GNAT Pro development environment. It can detect several of the “Top 25 Most Dangerous Software Errors” in the Common Weakness Enumeration (a formal, community-based list of software weaknesses). CodePeer supports all versions of Ada (83, 95, 2005, 2012). It has also been qualified as a verification tool under the DO-178B and EN 50128 software standards. CodePeer uses a “bottom-up” approach where each subprogram is analyzed separately, with its effects summarized/propagated for caller analysis. This method enables CodePeer to scale up to very large applications, and also enables partial analysis with no need for a driver or stubs. In addition, CodePeer is able to use multicore architectures to speed up its running time.