AdaCore (New York, NY) has released CodePeer, a source code analysis tool that detects run-time and logic errors in Ada programs. Serving as an efficient code reviewer, 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. CodePeer also produces a detailed analysis of each subprogram, including pre- and postconditions, making it easier to find potential bugs and vulnerabilities early. If the implicit specification deduced by CodePeer does not match the component’s requirements, a reviewer is alerted immediately to a likely logic error.

CodePeer can be used both during system development − to prevent errors from being introduced or as part of a systematic code review process − and retrospectively on existing code, to detect and remove latent bugs. CodePeer analyzes programs for a wide range of flaws including use of uninitialized data, pointer misuse, buffer overflow, numeric overflow, division by zero, dead code, and concurrency faults (race conditions). These sorts of errors can be difficult and expensive to detect and correct with conventional debugging, but CodePeer identifies them statically, without running the program, and determines not only where the failure could occur, but identifies where the bad values originate, be it within the current subprogram or from some distant subprogram that reached the point of failure through a series of calls.

For Free Info Click Here 


Embedded Technology Magazine

This article first appeared in the May, 2010 issue of Embedded Technology Magazine.

Read more articles from this issue here.

Read more articles from the archives here.