Release date: April 15, 2021

This release includes the following enhancements:

Support for IDEs

We've added support for the following IDEs:

  • Eclipse 2020-09 (4.17)
  • Eclipse 2020-12 (4.18)
  • IntelliJ 2020.3

Support for Java

Jtest can now analyze code written in Java 12, 13, 14, and 15.

Enhanced GitHub Integration

This release includes the following enhancements that help streamline your GitHub workflow:

  • Support for generating reports in GitHub's SARIF format, which enables GitHub to convert data into code scanning alerts.
  • New Jtest action for running analysis in Jtest and reviewing results in GitHub as part of your project. 

Refer to the Jtest action documentation on GitHub for additional information: https://github.com/marketplace/actions/run-parasoft-jtest.

Extended Security Compliance Pack

We've extended the Security Pack by adding support for the following standards:

  • CWE 4.4
  • DISA ASD STIG
  • OWASP API Security Top 10-2019

In addition, we've enhanced support for SEI CERT Coding Standard for Java by adding new rules and updating the existing test configuration. 

See New and Updated Test Configurations.

Enhanced Unit Test Assistant

We've optimized the test creation process to increase coverage of a single test case. UTA can now leverage data-flow analysis to determine the minimum number of test case preconditions required to generate tests. This reduces the size and complexity of test cases and increases their efficiency.

New and Updated Test Configurations

  • CWE 4.4
  • DISA-ASD-STIG
  • OWASP API Security Top 10-2019

We've updated the following test configurations:

  • CERT for Java
  • Recommended Rules

Removed Test Configurations

  • CWE 4.2

Improved Configuration of Test Impact Analysis

We've updated TIA-related options to facilitate configuration and ensure better consistency with other Jtest components.

New Name of the TIA Plugin for Maven

Old Plugin NameNew Plugin Name
cbt-maven-plugintia-maven-plugin

This change affects command line execution of test impact analysis, as well as its configuration in the POM file.

Old Command LineNew Command Line
mvn cbt:affected-tests testmvn tia:affected-tests test
Old POM ConfigurationNew POM Configuration
<pluginGroup>com.parasoft.xtest.cbt</pluginGroup><pluginGroup>com.parasoft.jtest.tia</pluginGroup>

New Option Names

Old NameNew Name
parasoft.coverage.filejtest.referenceCoverageFile
parasoft.test.filejtest.referenceReportFile
parasoft.runFailingTestsjtest.runFailedTests
parasoft.runModifiedTestsjtest.runModifiedTests
parasoft.testFilterjtest.testFilter

New and Extended Options

Option NameDescription
jtest.referenceCoverageFileAdded support for URL.
jtest.referenceReportFileAdded support for URL.
jtest.referenceStore

New option. Specifies the location for reference files downloaded from URLs to optimize TIA performance.

jtest.settingsNow specifies one .properties file.
jtest.settingsListNew option. Specifies multiple .properties files.

Support for Test Suites

We've added support for re-running test suites. Test impact analysis re-runs the entire test suite when at least one test included in that test suit is affected by code changes.

New and Updated Static Analysis Rules

We've added the following rules:

Rule IDHeader
CODSTA.EPC.NCBAVDo not perform bitwise and arithmetic operations on the same data
PB.CUB.NCUCPDo not assume that a Java char fully represents a Unicode code point
PB.NUM.PMRWLEDProvide methods to read and write little-endian data

We've updated the following rules:

  • BD-TRS-DIFCS
  • CODSTA.BP.IMPTD
  • CODSTA.EPC.NCE

  • CODSTA.READ.DVCU

  • CODSTA.READ.AIC

  • CODSTA.READ.ASIS

  • HIBERNATE.CSF

  • OPT.UNC

  • PB.CUB.SBC

  • PB.LOGIC.SG

Other Changes

  • We've added support for JaCoCo, a third-party coverage engine. You can configure the Jtest to leverage JaCoCo capabilities by enabling JaCoCo with the coverage agent options, or with Maven or Gradle parameters.
  • We've improved Jtest's performance when running Flow Analysis and collecting code coverage.
  • Jtest no longer supports configuring the Jtest Plugin for Maven as a reporting plugin executed during the site phase.
  • If your development testing workflow includes integration with Parasoft DTP, update your DTP to version 2021.1 to take full advantage of Parasoft's full set of SDLC features and functionality.
  • You can now help us improve Jtest by sending anonymous usage data to Parasoft. By default, reporting usage data is disabled – you can opt in anytime using your IDE or the Jtest configuration setting.
  • Addressed log4j vulnerability CVE-2021-44228 in version 2021.1.1.

Removed and Deprecated Support for Environments

Removed Support for Platforms

Support for the following deprecated platform is now removed:

  • Windows 7

Deprecated Support for IDEs

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

  • Eclipse 4.4
  • Eclipse 4.5

Resolved Bugs and FRs

Bug/FR IDDescription
FA-8186BD.PB.STRNULL false positive because of missing null checkers for org.apache.commons.lang3.StringUtils
JT-72773Infinite loop not being reported on the attached sample
JT-72997False positives for CODSTA.READ.DVCU
JT-73322PB.LOGIC.SG False Positive for Lombok Project with @Data, @Getter, and @Setter annotations
JT-73396False positive on Lombok code + request to provide a list of Lombok supported rules
JT-73402Document rules that do not report violations on classes affected by Lombok.
JT-73430Compilation error is being reported when analyzing with Ant plugin
JT-73432Lack of resources for PB.CUB.NCUCP
JT-73444The parameters tag for HIBERNATE.CSF is empty
JT-73459"Defining Line Suppressions Based on Regex Patterns" section of the documentation refers to C/C++test
XT-38874Problem with analyzing files modified on working branch in Git sub-modules
XT-38943Jtest plugin hanging with IntelliJ 2019.1.2 after performing certain actions.
XT-39009NativeSharedMemory crashes in AWS linux environment.
  • No labels