<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="a631b415-bc90-41a2-8cac-3ef7e89074c7"><ac:parameter ac:name="">Williams 10</ac:parameter></ac:structured-macro>[Williams 2010] Williams, Anthony. Boost Library Thread
, 2007-2008.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="428b043e-3a36-4e6b-ba8d-652b0745c85d"><ac:parameter ac:name="">Abrahams 10</ac:parameter></ac:structured-macro>[Abrahams 2010] Abrahams, David. Boost Library Error Handling Guidelines, #7
, 2001-2003.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="c2f3b909-b631-437a-88e0-1da99521e16d"><ac:parameter ac:name="">Barney 10</ac:parameter></ac:structured-macro>[Barney 2010] Barney, Blaise. POSIX Threads Programming
, Lawrence Livermore National Security, LLC, 2010.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="60477cb0-cbf6-4525-a7e7-84b47128e265"><ac:parameter ac:name="">Becker 08</ac:parameter></ac:structured-macro>[Becker 2008] Becker, Pete. Working Draft, Standard for Programming Language C++
, April 2008.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="eb7602e9-1847-4b94-9ee9-ebb71d1e450b"><ac:parameter ac:name="">Becker 09</ac:parameter></ac:structured-macro>[Becker 2009] Becker, Pete Working Draft, Standard for Programming Language C++
, September 2009.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="2f8f51b4-e3ea-430e-b6c0-d9d11ed7cc07"><ac:parameter ac:name="">Black 07</ac:parameter></ac:structured-macro>[Black 2007] Paul E. Black, Michael Kass, Michael Koo. Source Code Security Analysis Tool Functional Specification Version 1.0. Special Publication 500-268. Information Technology Laboratory (ITL), Software Diagnostics and Conformance Testing Division, May 2007. http://samate.nist.gov/docs/source_code_security_analysis_spec_SP500-268.pdf![]()
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="0a96a3d2-bc90-4d14-9e38-04c76e26ac3b"><ac:parameter ac:name="">Cline 09</ac:parameter></ac:structured-macro>[Cline 2009] Cline, Marshall. C++ FAQ Lite - Frequently Asked Questions
1991-2009
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="9b2d207a-2092-4a6f-aa7c-394f56b3c6a6"><ac:parameter ac:name="">CWE</ac:parameter></ac:structured-macro> [CWE] MITRE. Common Weakness Enumeration
– A Community-Developed Dictionary of Software Weakness Types.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="cb4cb024-d766-471f-9cbc-2199f198c502"><ac:parameter ac:name="">Dewhurst 03</ac:parameter></ac:structured-macro>[Dewhurst 2003] Dewhurst, Stephen C. C++ Gotchas: Avoiding Common Problems in Coding and Design. Boston, MA: Addison-Wesley Professional, 2002.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="d1142d7e-e741-43ed-9251-568c5618820e"><ac:parameter ac:name="">Dewhurst 05</ac:parameter></ac:structured-macro>[Dewhurst 2005] Dewhurst, Stephen C. C++ Common Knowledge: Essential Intermediate Programming. Boston, MA: Addison-Wesley Professional, 2005.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="f00eddc8-142a-420d-a790-5a29f73a2398"><ac:parameter ac:name="">Dowd 07</ac:parameter></ac:structured-macro>[Dowd 2007] Dowd, McDonald & Schuh. The Art of Software Security Assessment - Attacking delete and delete[] in C++
, 2007.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="0dcdc68c-9c8b-4159-aaa5-540a8dc2cf30"><ac:parameter ac:name="">Fortify 06</ac:parameter></ac:structured-macro>[Fortify 2006] Fortify Software Inc. Fortify Taxonomy: Software Security Errors
, 2006.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="4bcc101e-74d6-4f5a-85df-844ee0cab4db"><ac:parameter ac:name="">FSF 05</ac:parameter></ac:structured-macro>[FSF 2005] Free Software Foundation. GCC online documentation.
(2005).
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="8b9f3104-b13a-4f09-9995-df8148ef3f22"><ac:parameter ac:name="">Gamma 95</ac:parameter></ac:structured-macro>[Gamma 1995] Gamma, Helm, Vlissides, and Johnson. Design Patterns Elements of Reusable Object Oriented Software. Addison Wesley, 1995.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="cd35f14b-fcae-4e75-83b4-3774266f8477"><ac:parameter ac:name="">Goldberg 91</ac:parameter></ac:structured-macro>[Goldberg 1991] Goldberg, David. What Every Computer Scientist Should Know About Floating-Point Arithmetic
. Sun Microsystems, March 1991.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="b3699fc9-3701-444a-b8ad-cb226e529297"><ac:parameter ac:name="">Graff 03</ac:parameter></ac:structured-macro>[Graff 2003] Graff, Mark G. & Van Wyk, Kenneth R. Secure Coding: Principles and Practices. Cambridge, MA: O'Reilly, 2003 (ISBN 0596002424).
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="43ff8e8e-b227-4c8e-bb4b-8a3f6914090d"><ac:parameter ac:name="">Henricson 97</ac:parameter></ac:structured-macro>[Henricson 1997] Henricson, Mats & Nyquist, Erik. Industrial Strength C++
. Upper Saddle River, NJ: Prentice Hall PTR, 1997 (ISBN 0-13-120965-5).
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="8f7f95ad-b470-468a-ad09-6554035e900c"><ac:parameter ac:name="">IEC 60812 2006</ac:parameter></ac:structured-macro>[IEC 60812 2006] Analysis techniques for system reliability - Procedure for failure mode and effects analysis (FMEA), 2nd ed. (IEC 60812). IEC, January 2006.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="4b76f2dc-ea1d-461e-b1b1-642df32ca2c9"><ac:parameter ac:name="">ISO/IEC 9899-1999</ac:parameter></ac:structured-macro>[ISO/IEC 9899-1999] ISO/IEC 9899-1999. Programming Languages — C, Second Edition, 1999.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="9485c29e-ec7e-4125-9c9b-c56f112e9822"><ac:parameter ac:name="">ISO/IEC 14882-1998</ac:parameter></ac:structured-macro>[ISO/IEC 14882-1998] ISO/IEC 14882-1998. Programming Languages — C++, First Edition, 1998.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="99377183-107f-46b2-825b-528b3edcd526"><ac:parameter ac:name="">ISO/IEC 14882-2003</ac:parameter></ac:structured-macro>[ISO/IEC 14882-2003] ISO/IEC 14882-2003. Programming Languages — C++, Second Edition, 2003.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="3a4a2fd6-1baa-4d77-9ded-979d45fb0836"><ac:parameter ac:name="">ISO/IEC DTR 24772</ac:parameter></ac:structured-macro>[ISO/IEC DTR 24772] ISO/IEC DTR 24772. Information Technology — Programming Languages — Guidance to Avoiding Vulnerabilities in Programming Languages through Language Selection and Use
, November 2009.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="4e437f3b-474c-4132-8d49-ca785c32feea"><ac:parameter ac:name="">Lions 96</ac:parameter></ac:structured-macro>[Lions 1996] Lions, J. L. ARIANE 5 Flight 501 Failure Report
. Paris, France: European Space Agency (ESA) & National Center for Space Study (CNES) Inquiry Board, July 1996.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="05780975-c9da-4f83-a5a3-4f3c16ad734a"><ac:parameter ac:name="">Lockheed Martin 05</ac:parameter></ac:structured-macro>[Lockheed Martin 2005] Lockheed Martin. "Joint Strike Fighter Air Vehicle C++ Coding Standards for the System Development and Demonstration Program.
" Document Number 2RDU00001 Rev C., December 2005.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="2044209a-b7fe-44d8-947a-1d3a15bbe0e3"><ac:parameter ac:name="">Meyers 95</ac:parameter></ac:structured-macro>[Meyers 1995] Meyers, Scott. More Effective C++: 35 New Ways to Improve Your Programs and Designs. Boston, MA: Addison-Wesley Professional, 1995.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="7bf42d70-94be-423b-86ae-bb2ca2accef2"><ac:parameter ac:name="">Meyers 96</ac:parameter></ac:structured-macro>[Meyers 1996] Meyers, Scott. More Effective C++: 35 New Ways to Improve Your Programs and Designs. Boston, MA: Addison-Wesley, 1996.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="646d798e-b482-4c5f-9ff8-d994a4334cb3"><ac:parameter ac:name="">Meyers 97</ac:parameter></ac:structured-macro>[Meyers 1997] Meyers, Scott. Effective C++ : 55 Specific Ways to Improve Your Programs and Designs, 3rd ed. Boston, MA: Addison-Wesley Professional, 1997.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="a4e8caa3-d92f-4c98-b02a-e8b63c83559d"><ac:parameter ac:name="">Meyers 01</ac:parameter></ac:structured-macro>[Meyers 2001] Meyers, Scott. Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library. Boston, MA: Addison-Wesley Professional, 2001.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="2d84e591-c18b-459b-980b-7f047d18ddfa"><ac:parameter ac:name="">Meyers 05</ac:parameter></ac:structured-macro>[Meyers 2005] Meyers, Scott. Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition). Boston, MA: Addison-Wesley Professional, 2005.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="37d7f4f0-a178-4bcb-9527-7031cf1d348a"><ac:parameter ac:name="">Microsoft 10</ac:parameter></ac:structured-macro>[Microsoft 2010] STL std::string class causes crashes and memory corruption on multi-processor machines![]()
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="5676aa38-69af-490d-b3b5-e5db8c705b0b"><ac:parameter ac:name="">MISRA 04</ac:parameter></ac:structured-macro>[MISRA 2004] MIRA Limited. "MISRA C
: 2004 Guidelines for the Use of the C Language in Critical Systems." Warwickshire, UK: MIRA Limited, October 2004 (ISBN 095241564X).
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="4c13aaa9-cf52-4c11-8918-d3b231be10a9"><ac:parameter ac:name="">MISRA 08</ac:parameter></ac:structured-macro>[MISRA 2008] MIRA Limited. "MISRA C++
: 2008 "Guidelines for the Use of the C++ Language in Critical Systems", ISBN 978-906400-03-3 (paperback), ISBN 978-906400-04-0 (PDF), June 2008.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="c2bd4be4-fd23-4479-b5de-f2c011b063ef"><ac:parameter ac:name="">MITRE 07</ac:parameter></ac:structured-macro>[MITRE 2007] MITRE. Common Weakness Enumeration, Draft 9
, April 2008.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="b835cfb0-b3cd-403b-84d9-99dbfcc47d8d"><ac:parameter ac:name="">MITRE 08a</ac:parameter></ac:structured-macro>[MITRE 2008a] MITRE. CWE ID 327
, "Use of a Broken or Risky Cryptographic Algorithm," 2008.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="25c31535-3add-4293-b30e-393924d26d10"><ac:parameter ac:name="">MITRE 08b</ac:parameter></ac:structured-macro>[MITRE 2008b] MITRE. CWE ID 330
, "Use of Insufficiently Random Values," 2008.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="b0ba84b2-760f-4a5e-9f88-abf80fe27dce"><ac:parameter ac:name="">MSDN 10</ac:parameter></ac:structured-macro>[MSDN 2010] MSDN. "CryptGenRandom Function
."
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="c24c8908-00a1-47cd-b859-3391b73f1998"><ac:parameter ac:name="">NIST 06</ac:parameter></ac:structured-macro>[NIST 2006] NIST. SAMATE Reference Dataset
, 2006.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="b50e95a2-4fef-4353-b17b-3e52e19c50ce"><ac:parameter ac:name="">POSIX.1-2008</ac:parameter></ac:structured-macro><ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="0f536429-fa9c-4026-8439-95296e17e995"><ac:parameter ac:name="">IEEE Std 1003.1-2008</ac:parameter></ac:structured-macro><ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="40d0ae6f-de23-4e83-b2ad-7dd2c351e9f1"><ac:parameter ac:name="">ISO/IEC 9945:2008</ac:parameter></ac:structured-macro><ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="f1cafbbe-6f4b-4042-b286-e5b122f48a01"><ac:parameter ac:name="">Open Group 08</ac:parameter></ac:structured-macro>[Open Group 2008] The Open Group. The Open Group Base Specifications Issue 7, IEEE Std 1003.1, 2008 Edition
, 2008.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="dff9ecb8-b90c-4772-aba9-18285c4c226d"><ac:parameter ac:name="">POSIX.1-2004</ac:parameter></ac:structured-macro><ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="85a38471-e3e0-4f43-894f-5319e9021271"><ac:parameter ac:name="">IEEE Std 1003.1-2004</ac:parameter></ac:structured-macro><ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="346e911a-ab9b-44d8-b613-5f2d16f67e0f"><ac:parameter ac:name="">ISO/IEC 9945:2003</ac:parameter></ac:structured-macro><ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="330ed03d-b177-4bcc-9ed0-5b3bf4cf79ac"><ac:parameter ac:name="">Open Group 04</ac:parameter></ac:structured-macro>[Open Group 2004] The Open Group. The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
, 2004.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="f33cbc5d-723c-4883-a3e8-e26bb5da0b09"><ac:parameter ac:name="">Plum 91</ac:parameter></ac:structured-macro>[Plum 1991] Plum, Thomas. C++ Programming. Kamuela, HI: Plum Hall, Inc., November 1991 (ISBN 0911537104).
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="f8398d54-0806-4c5c-a74b-922c792a39d5"><ac:parameter ac:name="">Quinlan 06</ac:parameter></ac:structured-macro>[Quinlan 2006] Quinlan, Dan; Vuduc, Richard; Panas, Thomas; Härdtlein, Jochen; & Sæbjørnsen, Andreas. "Support for Whole-Program Analysis and the Verification of the One-Definition Rule in C++," 27-35. NIST Special Publication 500-262
, Proceedings of the Static Analysis Summit. Gaithersburg, MD, July 2006.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="0d1d4455-aa5c-433d-a1fe-f23feaf1aab1"><ac:parameter ac:name="">Saks 99</ac:parameter></ac:structured-macro>[Saks 1999] Dan Saks. const T vs.T const. Embedded Systems Programming. Pg. 13-16. February 1999. http://www.dansaks.com/articles/1999-02%20const%20T%20vs%20T%20const.pdf![]()
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="0199a8c6-ddf8-48e8-919e-cb16c093ca83"><ac:parameter ac:name="">Saks 07</ac:parameter></ac:structured-macro>[Saks 2007] Saks, Dan. "Sequence Points
" Embedded Systems Design, 07/01/02.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="847aa885-4859-4cde-8ce9-9cb6ad9c6574"><ac:parameter ac:name="">Seacord 05</ac:parameter></ac:structured-macro>[Seacord 2005] Seacord, R. Secure Coding in C and C++. Upper Saddle River, NJ: Addison-Wesley, 2006 (ISBN 0321335724).
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="fc9295a0-a09a-47e0-ac8d-c6c9fc3c22e7"><ac:parameter ac:name="">Sebor 04</ac:parameter></ac:structured-macro>[Sebor 2004] Sebor, Martin. C++ Standard Core Language Active Issues, Revision 68, Issue 475
, 2010.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="b044e416-bfd6-4149-afd2-57800242b648"><ac:parameter ac:name="">SGI 06</ac:parameter></ac:structured-macro>[SGI 2006] Silicon Graphics, Inc. "basic_string<charT, traits, Alloc>
." Standard Template Library Programmer's Guide, 2006.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="15bcebda-f3a3-4e54-bec7-2a2f3210e956"><ac:parameter ac:name="">Steele 77</ac:parameter></ac:structured-macro>[Steele 1977] Steele, G. L. 1977. Arithmetic shifting considered harmful.
SIGPLAN Not. 12, 11 (Nov. 1977), 61-69.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="64993908-02c1-4999-ab79-f5d86b14e6c9"><ac:parameter ac:name="">Stroustrup 97</ac:parameter></ac:structured-macro>[Stroustrup 1997] Stroustrup, Bjarne. The C++ Programming Language, Third Edition. Reading, MA: Addison-Wesley, 1997 (ISBN 0201889544).
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="0c86ca66-c050-4651-9a18-566d738e2d66"><ac:parameter ac:name="">Stroustrup 06</ac:parameter></ac:structured-macro>[Stroustrup 2006] Stroustrup, Bjarne. C++ Style and Technique FAQ
(2006).
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="81dcd5de-9e3a-49ae-a0cf-69e64397388d"><ac:parameter ac:name="">Stroustrup 01</ac:parameter></ac:structured-macro>[Stroustrup 2001] Stroustrup, Bjarne. Exception Safety: Concepts and Techniques
(2001).
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="e0cfffdb-bb12-4676-a266-e7323a6fd7f5"><ac:parameter ac:name="">Sun 93</ac:parameter></ac:structured-macro>[Sun 1993] Sun Security Bulletin #00122
, 1993.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="cdafa356-3a6d-47c3-bb48-b28a17205d0a"><ac:parameter ac:name="">Sutter 00</ac:parameter></ac:structured-macro>[Sutter 2000] Sutter, Herb. Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions. Addison-Wesley Professional, 2000 (ISBN 0201615622).
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="63fd5cb9-6834-4394-85be-fd96908263d1"><ac:parameter ac:name="">Sutter 01</ac:parameter></ac:structured-macro>[Sutter 2001] Sutter, Herb. More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions. Addison-Wesley Professional, 2001 (ISBN 020170434).
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="a31b3135-0680-4f14-a919-832fd5996de1"><ac:parameter ac:name="">Sutter 04</ac:parameter></ac:structured-macro>[Sutter 2004] Sutter, Herb & Alexandrescu, Andrei. C++ Coding Standards: 101 Rules, Guidelines, and Best Practices. Boston, MA: Addison-Wesley Professional, 2004 (ISBN 0321113586).
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="d30da120-4109-415b-949d-10f8b0225f34"><ac:parameter ac:name="">Viega 03</ac:parameter></ac:structured-macro>[Viega 2003] Viega, John & Messier, Matt. Secure Programming Cookbook for C and C++: Recipes for Cryptography, Authentication, Networking, Input Validation & More. Sebastopol, CA: O'Reilly, 2003 (ISBN 0-596-00394-3).
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="54c1b127-f54f-4867-a064-f512af6998d6"><ac:parameter ac:name="">Warren 02</ac:parameter></ac:structured-macro>[Warren 2002] Warren, Henry S. Hacker's Delight. Boston, MA: Addison Wesley Professional. 2002 (ISBN 0201914654).
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="f77ec0a8-96c6-4ee6-921b-4b3b9d95bb32"><ac:parameter ac:name="">Williams 10</ac:parameter></ac:structured-macro>[Williams 2010] Williams, Anthony. Simpler Multithreading in C++0x
, Internet.com, 2010.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="bfd0b102-a62e-4008-a493-aa3f2a3c55a5"><ac:parameter ac:name=""> xorl 2009</ac:parameter></ac:structured-macro>[xorl 2009] xorl. xorl %eax, %eax
.