CodePeer

{{Short description|Static analysis tool}}

CodePeer is a static analysis tool, which 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 {{cite web|last1=Cole|first1=Bernard|title=AdaCore releases new CodePeer static analysis tool|url=http://www.embedded.com/electronics-products/electronic-product-reviews/programming-languages-and-tools/4406744/AdaCore-releases-new-CodePeer-static-analysis-tool-|website=Embedded|accessdate=17 June 2014}} in Ada programs. All Ada run-time checks are exhaustively verified by CodePeer, using a variant of abstract interpretation.{{cite book|last1=Boulanger|first1=Jean-Louis|title=CodePeer – Beyond Bug-finding with Static Analysis|date=November 2011|publisher=Wiley|location=Hoboken, NJ, USA.|isbn=978-1-84821-320-3|page=183|edition=Static Analysis of Software: The Abstract Interpretation}}{{cite web|last1=Taft|first1=Tucker|title=Re-Engineering Abstract Interpretation|date=May 2015|url=http://cps-vo.org/node/19243|website=HCSS Conference|accessdate=4 June 2015}} In October 2014, CodePeer was qualified for use in safety-critical contexts {{cite web|last1=Ayre|first1=Jamie|title=AdaCore's CodePeer Static Analysis Tool Earns Qualification for Software Verification in Avionics, Railway|date=October 2014|url=http://www.adacore.com/press/codepeer-earns-qualification/|accessdate=4 June 2015}} as a sound tool for identifying possible run-time errors. CodePeer also produces detailed as-built documentation of each subprogram, including pre- and post-conditions, to help with code review and to ease locating potential bugs and vulnerabilities early.{{cite web|last1=Walsh|first1=Trudy|title=CodePeer spots Ada code errors early|url=http://gcn.com/Articles/2010/01/19/CodePeer-detects-errors-in-Ada-programs.aspx|website=GCN|accessdate=17 June 2014}}

CodePeer is produced by AdaCore, a computer software company with North American headquarters in New York City and European headquarters in Paris.

See also

References

{{Reflist}}