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 Name | New Plugin Name |
---|---|
cbt-maven-plugin | tia-maven-plugin |
This change affects command line execution of test impact analysis, as well as its configuration in the POM file.
Old Command Line | New Command Line |
---|---|
mvn cbt:affected-tests test | mvn tia:affected-tests test |
Old POM Configuration | New POM Configuration |
---|---|
<pluginGroup>com.parasoft.xtest.cbt</pluginGroup> | <pluginGroup>com.parasoft.jtest.tia</pluginGroup > |
New Option Names
Old Name | New Name |
---|---|
parasoft.coverage.file | jtest.referenceCoverageFile |
parasoft.test.file | jtest.referenceReportFile |
parasoft.runFailingTests | jtest.runFailedTests |
parasoft.runModifiedTests | jtest.runModifiedTests |
parasoft.testFilter | jtest.testFilter |
New and Extended Options
Option Name | Description |
---|---|
jtest.referenceCoverageFile | Added support for URL. |
jtest.referenceReportFile | Added support for URL. |
jtest.referenceStore | New option. Specifies the location for reference files downloaded from URLs to optimize TIA performance. |
jtest.settings | Now specifies one .properties file. |
jtest.settingsList | New 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 ID | Header |
---|---|
CODSTA.EPC.NCBAV | Do not perform bitwise and arithmetic operations on the same data |
PB.CUB.NCUCP | Do not assume that a Java char fully represents a Unicode code point |
PB.NUM.PMRWLED | Provide 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 ID | Description |
---|---|
FA-8186 | BD.PB.STRNULL false positive because of missing null checkers for org.apache.commons.lang3.StringUtils |
JT-72773 | Infinite loop not being reported on the attached sample |
JT-72997 | False positives for CODSTA.READ.DVCU |
JT-73322 | PB.LOGIC.SG False Positive for Lombok Project with @Data, @Getter, and @Setter annotations |
JT-73396 | False positive on Lombok code + request to provide a list of Lombok supported rules |
JT-73402 | Document rules that do not report violations on classes affected by Lombok. |
JT-73430 | Compilation error is being reported when analyzing with Ant plugin |
JT-73432 | Lack of resources for PB.CUB.NCUCP |
JT-73444 | The 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-38874 | Problem with analyzing files modified on working branch in Git sub-modules |
XT-38943 | Jtest plugin hanging with IntelliJ 2019.1.2 after performing certain actions. |
XT-39009 | NativeSharedMemory crashes in AWS linux environment. |