In this release, we've focused on improving the code analysis capabilities and extended our support for coding standards, including MISRA and Joint Strike Fighter (see New and Updated Code Analysis Rules for additional information.

This is a minor update to C/C++test DTP Engine. See the release notes for 10.3.0 for additional information.

New and Updated Code Analysis Rules

Rule IDHeader
CODSTA-MCPP-07Prefer lambdas over std::bind, std::bind1st and std::bind2nd
CODSTA-MCPP-08_aPrefer 'auto' to explicit type names in variable declarations
CODSTA-MCPP-08_bPrefer 'auto' to explicit type names for function return types
CODSTA-MCPP-09Declare functions 'noexcept' if they will not emit exceptions
CODSTA-MCPP-11_a_cpp11Useconstexprto declare const variables whenever possible
CODSTA-MCPP-11_b_cpp11Useconstexprto declare functions whenever possible
CODSTA-MCPP-14Avoid Overloading on Forwarding References

COMMENT-04

Comment every function

JSF-134

Assumptions (limitations) made by functions should be documented in the function's preamble
JSF-071_c A class's virtual functions shall not be invoked from any of its constructors
JSF-071.1 A class's virtual functions shall not be invoked from any of its constructors
JSF-071.1_bA class's virtual functions shall not be invoked from its destructor
JSF-119Functions shall not call themselves, either directly or indirectly
MISRA2004-16_2Functions shall not call themselves, either directly or indirectly
MISRA2008-7_5_4Functions should not call themselves, either directly or indirectly
MISRA2012-RULE-17_2Functions shall not call themselves, either directly or indirectly
OOP-16Avoid calling virtual functions from constructors
OOP-16_bAvoid calling virtual functions from destructors

Updates to the RuleWizard Module

The following nodes and properties have been added to RuleWizard:

  • IsMoveAssignmentOperator (true for move assignment operator)
  • IsCopyAssignmentOperator (true for copy assignment operator)
  • HasDefaultValue property (true for function parameters with default value)
  • IsDeclInCommaList property (true for variable declared in a comma-separated list of declarators)
  • 'Vacuous destructor call' node (represents explicit destructor call for simple type or class that doesn't have one)
  • NewDeclaration node (represents declaration of a new operator)
  • DeleteDeclaration node (represents declaration of a delete operator)

See RuleWizard 10.3.1 User's Guide for more details.

Additional Updates and Enhancements

  • Improved Flow Analysis execution.
  • Updates to Japanese localization.

Resolved FRs and PRs

IDDescription
121109MachineID is changed frequently on Windows 7
121190BD-PB-UCMETH false positives because of failures in building CFGs
120641BD.EXCEPT.NR false positive when not entering an important function
119002Link error when using data sources with the same names in "type=array" mode
121704COMMENT-04 doesn't trigger
119493Ctrl+S does not work reliably in TC Editor
120912No "Refresh Test Project" action for WRWB-specific Test Projects
121020Visual Studio 2015 support for updates 2 and 3
121351Parsing fails for common UDLs under MSVC-14 (VS2015)
120760Link error for QArrayData(const QArrayData &) - (declared implicitly), required for copy that was eliminated, cannot be referenced -- it is a deleted function
118145CPPTEST_DS_GET_MEM_BUFFER's length should not treat NULL as buffer's end
116997Support for Q suffix
108733Support for __float128
120653Add support for 'getline()' as a source of the tainted data
120781BD-RES-LEAKS false negative on the code containing nested loops
110613BD-RES-LEAKS false positive due to incorrect models for getaddrinfo/freeaddrinfo
121371Subsequent incremental analysis after scope changes are significantly slower
122022Parse error: argument list for class template "F" is missing
121434Outcome of "if (a)" may be incorrectly evaluated to "false" when "a"castedto "int" type is 0, while the original "a" value was != 0 (for C language only, when DC, SCC, MCDC is enabled)

  • No labels