You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

In this release, we've focused on adding support for new environments and enhancing our security compliance solution.

Support for Environments

New IDEs

We've added support for:

  • Visual Studio 20191
  • QNX Software Development Platform 7.0

1C/C++test requires specific Visual Studio Workloads to be installed with Visual Studio 2019; see IDE Support for details.

Deprecated IDEs

Support for the following IDEs is deprecated and will be removed in future releases:

  • Microsoft Visual Studio 2008
  • Microsoft Visual Studio 2010

New Compilers

Compiler NameCompiler Acronym
GNU GCC 9.xgcc_9
GNU GCC 9.x (x86_64)gcc_9-64
IAR Compiler for ARM v. 8.22xiccarm_8_22
IAR Compiler for ARM v. 8.40xiccarm_8_40
Microsoft Visual C++ 14.2vc_14_2
Microsoft Visual C++ 14.2 (x64)vc_14_2-64
Clang C/C++ Compiler v 8.0 (AARCH64)clang_8_0

Support for QNX GCC 5.x (ARM) is now extended and approved for use in safety-critical software development.

The ARM NEON extensions are now supported for GCC- and ARM-based compilers.

Deprecated Compilers

Support for the following compilers is deprecated and will be removed in future releases:

  • ARM RealView 4.1

  • ARM RealView 4.1 for uVision

  • CodeSourcery Sourcery G++ Lite 2009q1-203

  • GNU GCC 4.0.x

  • GNU GCC 4.0.x (x86_64)

  • GNU GCC 4.1.x

  • GNU GCC 4.1.x (x86_64)

  • GNU GCC 4.2.x

  • GNU GCC 4.2.x (x86_64)

  • GNU GCC 4.3.x

  • GNU GCC 4.3.x (x86_64)

  • GNU GCC 4.4.x

  • GNU GCC 4.4.x (x86_64)

  • IAR Compiler for ARM v. 6.1x

  • IAR Compiler for ARM v. 6.3x

  • IAR Compiler for MSP430 v. 5.4x

  • Microsoft Visual C++ 9.0
  • Microsoft Visual C++ 10.0
  • TI TMS320C2000 C/C++ Compiler v6.2

  • TI TMS320C6x C/C++ Compiler v7.3

  • TI MSP430 C/C++ Compiler v4.0

  • Vx-toolset for TriCore C/C++ Compiler 4.0

  • Wind River GCC 3.4.x

Intel C++ Compiler v 18.0 is no longer supported on Windows.

Extended Security Compliance Pack

We've added new and extended existing rules to create test configurations that help you enforce compliance with the CWE Top 25 2019 and CWE Weaknesses on the Cusp security standard; see the New and Updated Test Configurations section below.

New and Updated Code Analysis Rules

We've added new static analysis rules to extend coverage of compliance standards, with a special focus on the AUTOSAR standard ; see New Rules and Updated Rules for the lists of new and updated rules.

Creating Stubs that Call the Original Function

The Stub Callbacks mechanism has been enhanced to call the original function when no other stub function is configured; see Creating Stubs that Call the Original Function.

OpenID Connect Support

You can now authenticate on DTP via OpenID Connect to add a layer of security to your interactions with your DTP server. See Configuring OpenID Connect in the UI and  Configuring OpenID Connect the .properties File for details.

Standalone License Server

You can now obtain the Parasoft license from an additional instance of DTP or a standalone License Server. See Licensing.

New and Updated Test Configurations

We've added the following test configurations:

  • CWE Top 25 2019
  • CWE Top 25 + On the Cusp 2019
  • OWASP Top 10 2017
  • UL 2900

Deprecated Test Configurations

  • CWE-SANS Top 25 Most Dangerous Programming Errors – deprecated and replaced with the CWE Top 25 2019 test configuration
  • OWASP Top 10 2017 – deprecated and replaced with the new OWASP Top 10 2017 test configuration
  • UL 2900 – deprecated and replaced with the new UL 2900 test configuration that includes CWE SANS Top 25 + On the Cusp 2019 and OWASP Top 10 2017 rules

The deprecated test configurations are not available by default and can only be applied as user-defined test configuration. They are now shipped with C/C++test in the following location: [INSTALL_DIR]\configs\Deprecated.

Other Changes

  • The @test issue tracking tag is now supported by default for associating test with development artifacts; see Indicating Code and Test Correlations.
  • Performance of flow analysis in the incremental analysis mode has improved. We've reduced analysis times in subsequent runs.
  • Connecting to Project Center is no longer supported. The Project Center module shipped with DTP/Concerto has reached its end-of-life (EOL) phase and was removed in DTP 5.4.2.
  • QNX Momentics IDEs older than version 7 are no longer supported.
  • The license.network.enabled option has been renamed as license.network.use.specified.server; see Licensing.

New Rules

Rule IDHeader
BD.RES.INSUFMEMAllocate sufficient memory to hold an object of a given type
BD.SECURITY.XXEXRCDisable resolving XML external entities (XXE) in libxerces-c

In addition, we've added a NOMCIM metric to calculate the number of method calls in methods.

Updated Rules

  • BD-PB-SIGHAN
  • BD-PB-NOTINIT
  • BD-PB-PTRARR
  • BD-PB-CHECKRET
  • BD-PB-SIGHAN
  • BD-TRS-MLOCK
  • BD-TRS-ORDER

Resolved Bugs and FRs

Bug/FR ID

Description

CPP-39554

Rule CODSTA-13 should be updated to follow MISRA2004-17_3

CPP-39913

VS Cannot enable filtered rules in Visual Studio.

CPP-42073

Add support for ARM NEON extensions

CPP-42495

Rule COMMENT-04 should not report on a function declaration when function definition is not available (visible)

CPP-42527

Improve mapping for AUTOSAR-M2_13_2-a (C++14 semantics)

CPP-42858

Improve mapping for CERT-INT31

CPP-43140

Improve mapping for MISRA2012-RULE-2_2

CPP-43141

Rule CODSTA-163_b (MISRAC2012-RULE_10_3-b) reports false positive on ternary operator

CPP-43142

Rule CODSTA-CPP-59 reports false positive on #include directives excluded by __cplusplus macro

CPP-43143

Rule MISRA2004-9_2_c (AUTOSAR-M8_5_2-c) reports incorrectly on std::array and constexpr

CPP-43150

Rule GLOBAL-ONEUSEVAR (MISRA2008-0_1_4) reports false positive when static const variable is used as template argument

CPP-43413

Rule OPT-02 (OPT-03, OPT-31) reports false positive on parameters/variables captured by lambdas

CPP-43414

Parse failure reported for user-defined suffixes in templates (C++14)

CPP-43465

LSI cannot read object/library data for ARM OE toolchain

CPP-43479

Error reported when instrumenting code (Process exited with code: 137)

CPP-43523

Error reported when running unit tests: Invalid file format: Unable to read exports

CPP-43549

Custom source/header file extensions not propagated from IDE to Static Analysis engine

CPP-43558

VS Timeout is not deactivated when debugging test cases

CPP-43567

Symbols __once_call and __once_callable from libstdc++ are reported not found by LSI

CPP-43568

VS C/C++test cannot be installed if both VS2017 and VS 2019 are installed on a machine

CPP-43602

Configure gnu99 option for GHS/ARM compilers

CPP-43603

Rule FORMAT-43 reports false positive when unpaired braces are #ifdef'd/#ifndef'd

CPP-43643

Missing support for "--core" option in IAR-RL78 compiler configuration

CPP-43667

Rule OPT-05 reports false positive if const variable is used as template argument

CPP-43675

Rule PB-45 reports false positive when plain char is passed as '%c' specifier in printf/scanf function call

CPP-43688

Rules PB-45, PB-46, PB-47, PB-48, PB-49 work incorrectly for arguments of 'scanf' functions

CPP-43689

Rule PB-50 reports false positive when characters specifier is used in 'scanf' function

CPP-43706

Improve rule MISRA2004-20_5 (JSF-017): do not print line number in violation message

CPP-43744

Improve algorithm which filters duplicated violations.

CPP-43748

Rule MISRA2004-17_6_a reports false positive when address of dereferenced iterator is returned from function

CPP-43831

Compilation error on safe stubs with Microsoft Windows Kit SDK 10.0.18362.0

CPP-43837

Parse failure reported when using -endian=big with Renesas RX C++ 2.5.X compiler

CPP-43869

Rule INIT-05 reports false positive on rvalue reference

CPP-43889

Parse failure reported: initial value of reference to non-const must be an lvalue

CPP-43892

Parse failure reported: parameter pack "Indexes" was referenced but not expanded

CPP-43893

Improve mapping for CERT EXP45-C (remove CERT_C-EXP45-a and CERT_C-EXP45-c)

CPP-43896

Improve unit testing execution for Renesas Rx

CPP-43971

Enable edg.implicit_noexcept_enabled configuration option for GCC and Clang compilers

CPP-43972

C/C++test fails to read "$NULL" value from a data source

CPP-43975

Rule CODSTA-149 (CERT_C-MSC17-a) reports false positive when fall through comment is preceded by preprocessor directive

CPP-43992

TempLic*txt files create and not cleaned up in temp folder

CPP-44001

VS IDE not responding when creating test case for CMFCSampleDlg::OnPaint()

CPP-44025

Rule CERT_C-INT36-a reports false positive when '0' is cast to void* type

CPP-44045

Rule OPT-06 reports false positive on local variable captured in lambda

CPP-44046

STATUS_ACCESS_VIOLATION: The thread attempts to read from or write to a virtual address for which it does not have access.

CPP-44055

VS Only first -localsettings parameter is handled by C/C++test (others are ignored)

CPP-44059

Report HTML - Tested functions in Test Cases have empty field

CPP-44088

Static Analysis (cwc) exits with code 3 on literal variadic templates

CPP-44225

Rule MISRA2004-12_8 (MISRAC2012-RULE_12_2-a) reports false positive when double cast of the operand is used in the shift expression

CPP-44271

Parse failure reported: expression must have a constant valuestatic constexpr bool value = has_named_enum_tag<T>(0);

CPP-44273

Renaming a test case actually renames the class name for that test

CPP-44274

Rule HICPP-17_2_1-a (AUTOSAR-A17_1_1-b) reports false positive on #include <string>

CPP-44538

Add support for missing IAR atomic builtins

CPP-44576

C++test 10.4.3 BETA - Command line analysis is not licensed

FA-4617

False positives from BD-PB-DEREF on checking array variable against being null

FA-4651

BD-RES-FREE False Positive on freeing memory that was already freed as a resource of another type (e.g. pthread mutex)

FA-4998

Bogus violation for BD-RES-FREE on arithmetic operations done on closed file descriptors.

FA-7097

BD-PB-PTRARR false positive on type mismatch

FA-7105

BD-PB-OVERFWR False Positive

FA-7191

BD-RES-INVFREE false positive when working with const expression

FA-7195

BD-CO-ITOUT - false positive for container cend() method

FA-7266

Incorrect Flow Analysis results: FA does not take into account values of the elements of the global array of consts.

FA-7291

False positives from BD-RES-INVFREE when closing resource referenced by the element of an array.

FA-7398

Flow Analysis Aggressive reports static analysis problems in C++test 10.4.2

FA-7410

False positive for BD-SECURITY-OVERFFMT when typedefs used

FA-7413

False positive of MISRA2012-RULE-19-1_c (BD-PB-OVERLAP)

FA-7441

CERT_C-ARR38-c (BD-PB-OVERFFMT) reports FP violation when specifying %*s inside string format

XT-36609£ character in password prevents Parasoft tool from connecting to DTP
XT-36611Publishing sim-link source code using 'min' option failed
XT-36843Concurrent builds which use cpptestcli do not wait for timeout when trying to pull license
XT-36950Update vulnerable libraries from XML Graphics Project
XT-37358100% not being displayed in reports when achieving 100% test success
  • No labels