<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="d2fad3b2-5275-4de2-a98f-33fe1e8177d0"><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="6713f8e8-b52f-41c3-aa06-fc5a3350a886"><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="634f64e6-d64b-41f3-bea9-61d091f69ffd"><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="87a31245-24cb-41cb-a188-1b9d7ba64c1e"><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="22d47bcd-78e5-42da-a1a0-10cdd16c3fc0"><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="cabdf5e0-98fe-4295-8d82-f85af85c7985"><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="954b8765-30b7-44a4-9676-859acda0fa0b"><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="9619e40f-9a46-4e96-a271-421eba2c9b67"><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="21742aa3-ec3b-4c6c-a0d7-809a5ffff426"><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="3ec08a34-c61a-4078-b02d-a8f1a326435a"><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="67bdf42c-5d2e-46a7-92dc-97d524bf3c24"><ac:parameter ac:name="">Fortify 06</ac:parameter></ac:structured-macro>[Fortify 06] Fortify Software Inc. Fortify Taxonomy: Software Security Errors
, 2006.
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="38d57444-3e08-4b8d-8ed5-f3baef6d8572"><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="b95cc6fa-0a8c-41f2-afd6-c0ffa5437831"><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="c2a6c55a-972f-4e22-8e4c-b356cb066d10"><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="cc993139-319e-464f-9454-021ab94f1cbb"><ac:parameter ac:name="">Graff 03</ac:parameter></ac:structured-macro>[Graff 03] 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="861803fb-9770-4753-8e9c-e7c3af93b695"><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="25a40c81-0bd5-4336-a0aa-030d5b58df89"><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="55ae56a4-f4e8-4f69-adc6-9619959825d1"><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="6ab99252-0a31-4bf2-b7e9-fa5c08495308"><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="21795b91-bb1b-48fa-8c8a-bebfd57aadc5"><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="68227065-28d4-4ca7-b6df-087ed8d54ec9"><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="dc8433b7-c356-47aa-a9a9-7285b095fd2d"><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="32ac5c87-18fc-46f6-ae45-833f96608428"><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="1a85cf70-734c-4965-a892-9b8fb3534f20"><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="a1925b3b-3ba4-4392-a36e-77574e3cd6dd"><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="f29b4bf5-760c-4453-97cd-ed705ccb9963"><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="25c78004-3fd1-49a8-8a74-3d0810656789"><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="965961f3-3a18-412d-a923-834da97b37d6"><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="a7a6fe93-29c6-42a1-9646-052cf3cab17c"><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="df1e7208-95e3-42a1-9ddb-ecf652ff98b5"><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="6c847115-46b7-464a-bc17-2d6b6e211460"><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="c321330d-bab4-4dc8-b921-db69a5f78e96"><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="8c226e78-0b12-4cb3-8e00-14e6b7eab7d2"><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="04e4335e-f157-4217-ab6d-e0540dee33ad"><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="9f0e40f1-6504-4471-afea-2b6c4e1c2acb"><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="ec5d6fc7-493b-435a-95be-f0daf637c062"><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="b10b2322-6558-4512-bd84-b3b62a2e671b"><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="7435db8a-3bca-44c7-810e-1ef1cc1d54e3"><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="e5455f28-d28a-424f-8f8f-f3d07e68e7bc"><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="0337ac1f-f283-4559-a89b-d7dc02ea9278"><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="f4ee89a3-3da0-4300-ac20-171fa9af15fb"><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="526dc9d8-50dc-4353-a4a7-ab96c7a59257"><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="f0b17984-c3a7-44dc-a004-34eec46f3cb5"><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="980a4af5-e003-4ef7-bcdd-46ecbea76528"><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="a813291e-a764-4031-b3ab-12cbdbb3b639"><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="532e4cdb-c60e-410e-a8c3-7318049d78cd"><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="75aad893-fc11-4914-a387-229b2bb64b61"><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="b529df9e-2ee2-4419-82c1-e279565b7ad7"><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="e450fa5c-6b77-42fd-82fe-cf43c4971e61"><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="bec56322-6554-45f3-9ed3-92e31a525173"><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="df986799-a5c6-4f62-92bf-754548637cb7"><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="6adfd4d6-97f9-4bb3-9dab-6e105351fa62"><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="2e705e11-1319-459f-bebb-bdfe9d881df9"><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="b057c21a-8a27-4f88-b37e-6d13369db5c5"><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="642d08be-a8fb-4b34-b8a7-661d2515dc8b"><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="541ca1d4-b1e1-4f12-a2c6-409023cc9bb0"><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="a454f0ac-ecf3-443f-bab3-5f120f1b108e"><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="607990d0-d56e-48b3-af53-4716ce1dade2"><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="ac428481-ef8a-4ff2-91c0-99b532f077f5"><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="cfa11221-b3ee-4a71-b94a-7b636fe388c9"><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="99bc63d2-dbff-40c0-b677-c57b6b884f3a"><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="97fb0757-bbfd-4f8b-b631-60864bee7b26"><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="e9fce013-67e6-4feb-9b0f-a8236c76e78a"><ac:parameter ac:name=""> xorl 2009</ac:parameter></ac:structured-macro>[xorl 2009] xorl. xorl %eax, %eax
.