CodePeer spots Ada code errors early
Software tool from AdaCore finds code trouble before it becomes a problem
AdaCore, provider of Ada development software, has launched a source code analysis tool that can detect run-time and logic errors in Ada programs. Named CodePeer, the tool can be used either as standalone software or integrated into the GNAT Pro Ada development environment.
CodePeer produces a detailed analysis of each subprogram, including pre- and post-conditions, making it easier to find potential bugs and vulnerabilities early, AdaCore representatives said.
CodePeer works as a code reviewer, identifying constructs that are likely to lead to run-time errors such as buffer overflows, the company said.
If an implicit specification deduced by CodePeer does not match the component’s requirements, a reviewer is alerted to the likely logic error. CodePeer can be used during system development to prevent the introduction of errors, or used retroactively on existing code, to detect and remove latent bugs.
The software analyzes programs for a broad range of flaws, including use of uninitialized data, pointer misuse, buffer overflow, numeric overflow, division by zero, dead code and concurrency faults, AdaCore said. CodePeer determines not only where the failure could occur, but identifies where the bad values originate. It also searches for code that might be correct syntactically and semantically, but performs suspect computations, such as an assignment to a variable that is never subsequently referenced, company representatives said.
CodePeer mathematically analyzes every line of code without executing the program, and considers all combinations of program input across all paths within the program.
“Even the best programmers using the best programming languages will sometimes make mistakes,” said Robert Dewar, president and chief executive officer of AdaCore. “The key is to detect and correct errors early, and, thanks to our partnership with SofCheck, CodePeer is now available for precisely that purpose.”
For more information, see www.adacore.com.