Skip to main content
assistive.skiplink.to.breadcrumbs
assistive.skiplink.to.header.menu
assistive.skiplink.to.action.menu
assistive.skiplink.to.quick.search
Log in
Confluence
Spaces
Hit enter to search
Help
Online Help
Keyboard Shortcuts
Feed Builder
What’s new
Available Gadgets
About Confluence
Log in
SEI CERT C++ Coding Standard
Pages
Boards
Space shortcuts
Dashboard
Secure Coding Home
Android
C
C++
Java
Perl
Page tree
Browse pages
Configure
Space tools
View Page
A
t
tachments (0)
Page History
Page Information
View in Hierarchy
View Source
Export to PDF
Export to Word
Pages
…
SEI CERT C++ Coding Standard
3 Back Matter
CC. Analyzers
Klocwork_V
Page Information
Title:
Klocwork_V
Author:
Pranjal Jumde
Oct 09, 2012
Last Changed by:
Jill Britton
Nov 06, 2024
Tiny Link:
(useful for email)
https://wiki.sei.cmu.edu/confluence/x/s3s-BQ
Export As:
Word
·
PDF
Incoming Links
SEI CERT C++ Coding Standard (53)
Page:
DCL59-CPP. Do not define an unnamed namespace in a header file
Page:
ERR53-CPP. Do not reference base classes or class data members in a constructor or destructor function-try-block handler
Page:
CON55-CPP. Preserve thread safety and liveness when using condition variables
Page:
CTR50-CPP. Guarantee that container indices and iterators are within the valid range
Page:
OOP55-CPP. Do not use pointer-to-member operators to access nonexistent members
Page:
DCL50-CPP. Do not define a C-style variadic function
Page:
ERR57-CPP. Do not leak resources when handling exceptions
Page:
OOP57-CPP. Prefer special member functions and overloaded operators to C Standard Library functions
Page:
OOP54-CPP. Gracefully handle self-copy assignment
Page:
EXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation
Page:
MEM52-CPP. Detect and handle memory allocation errors
Page:
EXP53-CPP. Do not read uninitialized memory
Page:
OOP53-CPP. Write constructor member initializers in the canonical order
Page:
MSC52-CPP. Value-returning functions must return a value from all exit paths
Page:
EXP54-CPP. Do not access an object outside of its lifetime
Page:
CTR51-CPP. Use valid references, pointers, and iterators to reference elements of a container
Page:
EXP60-CPP. Do not pass a nonstandard-layout type object across execution boundaries
Page:
STR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator
Page:
DCL53-CPP. Do not write syntactically ambiguous declarations
Page:
FIO51-CPP. Close files when they are no longer needed
Page:
EXP50-CPP. Do not depend on the order of evaluation for side effects
Page:
MSC54-CPP. A signal handler must be a plain old function
Page:
ERR61-CPP. Catch exceptions by lvalue reference
Page:
STR51-CPP. Do not attempt to create a std::string from a null pointer
Page:
ERR62-CPP. Detect errors when converting a string to a number
Page:
EXP57-CPP. Do not cast or delete pointers to incomplete classes
Page:
Klocwork
Page:
ERR52-CPP. Do not use setjmp() or longjmp()
Page:
MSC53-CPP. Do not return from a function declared [[noreturn]]
Page:
ERR50-CPP. Do not abruptly terminate the program
Page:
EXP55-CPP. Do not access a cv-qualified object through a cv-unqualified type
Page:
MSC51-CPP. Ensure your random number generator is properly seeded
Page:
DCL52-CPP. Never qualify a reference type with const or volatile
Page:
DCL54-CPP. Overload allocation and deallocation functions as a pair in the same scope
Page:
ERR51-CPP. Handle all exceptions
Page:
CON54-CPP. Wrap functions that can spuriously wake up in a loop
Page:
DCL57-CPP. Do not let exceptions escape from destructors or deallocation functions
Page:
DCL58-CPP. Do not modify the standard namespaces
Page:
EXP52-CPP. Do not rely on side effects in unevaluated operands
Page:
MEM50-CPP. Do not access freed memory
Page:
CON50-CPP. Do not destroy a mutex while it is locked
Page:
DCL51-CPP. Do not declare or define a reserved identifier
Page:
OOP58-CPP. Copy operations must not mutate the source object
Page:
EXP51-CPP. Do not delete an array through a pointer of the incorrect type
Page:
MSC50-CPP. Do not use std::rand() for generating pseudorandom numbers
Page:
ERR54-CPP. Catch handlers should order their parameter types from most derived to least derived
Page:
EXP58-CPP. Pass an object of the correct type to va_start
Page:
MEM51-CPP. Properly deallocate dynamically allocated resources
Page:
OOP52-CPP. Do not delete a polymorphic object without a virtual destructor
Page:
MEM55-CPP. Honor replacement dynamic storage management requirements
Page:
EXP61-CPP. A lambda object must not outlive any of its reference captured objects
Page:
OOP50-CPP. Do not invoke virtual functions from constructors or destructors
Page:
EXP56-CPP. Do not call a function with a mismatched language linkage
Hierarchy
Parent Page
Page:
CC. Analyzers
Labels
There are no labels assigned to this page.
Recent Changes
Time
Editor
Nov 06, 2024 05:52
Jill Britton
View Changes
Jul 23, 2024 10:33
Jill Britton
View Changes
Apr 02, 2024 11:18
Jill Britton
View Changes
Sep 27, 2023 05:39
Jill Britton
View Changes
Mar 31, 2023 02:32
Jill Britton
View Page History
Overview
Content Tools
{"serverDuration": 247, "requestCorrelationId": "7a369b4ad9beea73"}