Title: Astrée  
Author: Joerg Herter Aug 28, 2020
Last Changed by: David Svoboda Sep 27, 2023
Tiny Link: (useful for email) https://wiki.sei.cmu.edu/confluence/x/-ABKDQ
Export As: Word · PDF  
Incoming Links
SEI CERT C++ Coding Standard (45)
    Page: OOP50-CPP. Do not invoke virtual functions from constructors or destructors
    Page: EXP54-CPP. Do not access an object outside of its lifetime
    Page: MSC53-CPP. Do not return from a function declared [[noreturn]]
    Page: ERR54-CPP. Catch handlers should order their parameter types from most derived to least derived
    Page: ERR52-CPP. Do not use setjmp() or longjmp()
    Page: ERR58-CPP. Handle all exceptions thrown before main() begins executing
    Page: ERR61-CPP. Catch exceptions by lvalue reference
    Page: MEM57-CPP. Avoid using default operator new for over-aligned types
    Page: MSC50-CPP. Do not use std::rand() for generating pseudorandom numbers
    Page: CTR51-CPP. Use valid references, pointers, and iterators to reference elements of a container
    Page: OOP53-CPP. Write constructor member initializers in the canonical order
    Page: STR51-CPP. Do not attempt to create a std::string from a null pointer
    Page: EXP52-CPP. Do not rely on side effects in unevaluated operands
    Page: DCL59-CPP. Do not define an unnamed namespace in a header file
    Page: DCL60-CPP. Obey the one-definition rule
    Page: OOP57-CPP. Prefer special member functions and overloaded operators to C Standard Library functions
    Page: EXP53-CPP. Do not read uninitialized memory
    Page: DCL50-CPP. Do not define a C-style variadic function
    Page: DCL51-CPP. Do not declare or define a reserved identifier
    Page: DCL57-CPP. Do not let exceptions escape from destructors or deallocation functions
    Page: MEM56-CPP. Do not store an already-owned pointer value in an unrelated smart pointer
    Page: CTR54-CPP. Do not subtract iterators that do not refer to the same container
    Page: MSC52-CPP. Value-returning functions must return a value from all exit paths
    Page: ERR53-CPP. Do not reference base classes or class data members in a constructor or destructor function-try-block handler
    Page: INT50-CPP. Do not cast to an out-of-range enumeration value
    Page: OOP54-CPP. Gracefully handle self-copy assignment
    Page: EXP55-CPP. Do not access a cv-qualified object through a cv-unqualified type
    Page: MEM50-CPP. Do not access freed memory
    Page: MSC51-CPP. Ensure your random number generator is properly seeded
    Page: CTR53-CPP. Use valid iterator ranges
    Page: CTR52-CPP. Guarantee that library functions do not overflow
    Page: DCL54-CPP. Overload allocation and deallocation functions as a pair in the same scope
    Page: STR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator
    Page: STR53-CPP. Range check element access
    Page: CTR50-CPP. Guarantee that container indices and iterators are within the valid range
    Page: ERR51-CPP. Handle all exceptions
    Page: ERR50-CPP. Do not abruptly terminate the program
    Page: CON52-CPP. Prevent data races when accessing bit-fields from multiple threads
    Page: EXP61-CPP. A lambda object must not outlive any of its reference captured objects
    Page: EXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation
    Page: OOP55-CPP. Do not use pointer-to-member operators to access nonexistent members
    Page: ERR55-CPP. Honor exception specifications
    Page: EXP57-CPP. Do not cast or delete pointers to incomplete classes
    Page: OOP52-CPP. Do not delete a polymorphic object without a virtual destructor
    Page: MEM51-CPP. Properly deallocate dynamically allocated resources
Hierarchy
Parent Page
    Page: CC. Analyzers
Labels
Global Labels (1)
Outgoing Links
External Links (45)
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
SEI CERT C++ Coding Standard (1)     Page: Astrée_V