Release date: October 20, 2020
In this release:
Support for IDEs
We've added support for the following IDEs:
- IntelliJ IDEA 2020.1
- IntelliJ IDEA 2020.2
- Eclipse 2020-06 (4.16)
Enhanced Static Analysis
We've extended Jtest's static analysis capabilities with new features to help you focus on the most expedient tasks.
New Scoping Options to Target Modified Code on the Current Branch
We've added new options to create file filters that restrict the scope of analysis to files modified on your current working branch. This allows you to focus on identifying and fixing bugs introduced by your recent code changes before the code is merged with the main development stream.
In addition, you can narrow down the scope to locally modified files so that you can analyze the code you updated before checking it into source control.
New Report Reference Options for Defining the Code Analysis Baseline
You can now specify a path or URL to a reference report file that will be used as a baseline when performing analysis with Jtest. This allows you to exclude previously reported findings from the current report in order to focus on the most recently detected code defects. Configuring Reporting Options.
New Suppression Format
You can now create suppressions for static analysis findings in parasoft.suppress files, which can be stored in source control along with your source files. You can create in-file suppressions in the Jtest GUI or manually add information about findings you want to suppress to suppression files. See Suppressing Findings in the GUI and Suppressing the Reporting of Findings.
The previous XML-style format used to create suppressions in the GUI is deprecated. You can convert deprecated suppressions to the new in-file format at you IDE startup. See Migrating suppressions.
Default Optimization of JUnit 4 and 5 Test Execution
The default test execution configuration has been optimized for JUnit 4 and JUnit 5, reducing the time required to report test results and calculate coverage.
The results for JUnit 3 tests are not collected by default. See Running Unit Tests for information how to configure your project to obtain results for JUnit 3 tests.
If you execute tests for Tycho builds, you need to fine-tune your configuration to enable JUnit test execution. See Executing Tests and Collecting Test Coverage for Tycho Builds for details.
Enabled Executing Test Suites
Jtest can now collect results for nested test suites and report test execution results in the context of the test suite where a test is run. As a consequence, historical results for test suite execution are no longer available on DTP. See Executing Test Suites.
Integrating with Lombok
You can now integrate Jtest with the Lombok library to speed up the development process by automatically generating boilerplate code in your project. See Integrating with Lombok
Extended Security Compliance Pack
We've added support for the newly updated Common Weakness Enumeration (CWE). In addition, we've extended the CERT for Java and UL 2900 test configurations with new rules to help you achieve better compliance with the security standards. See the New and Updated Test Configurations section below.
In addition, we've extended the CERT for Java and UL 2900 test configurations with new rules to help you achieve better compliance with the CERT and UL 2900 standards.
Releasing Network License in the IDE
You can now optimize license token distribution by deactivating your network license when you are not actively using Jtest in your IDE. This releases your license token so that it is available for another user. You can either manually deactivate your license or configure Jtest to automatically release your license token when idle. See Setting the Parasoft License.
New and Updated Static Analysis Rules
We've added the following rules:
|SECURITY.WSC.FOLLOW||Ensure that file target paths retrieved by resolving symbolic links are safe|
|SECURITY.WSC.LNK||Validate shortcut target paths before use|
We've updated the following rules:
The output messages of the following rules have been updated, and as a result, suppressions associated with these rules on DTP may no longer be available:
New and Updated Test Configurations
We've added the following test configurations:
- CWE 4.2
- CWE Top 25 2020
- CWE Top 25 + On the Cusp 2020
We've updated the following test configurations:
- CERT for Java
- UL 2900
Removed Test Configurations
We've removed the outdated test configurations for CWE compliance:
- CWE 4.0
- CWE Top 25 2019
- CWE Top 25 + On the Cusp 2019
- You can create a parameterized JUnit 5 test from an existing non-parameterized test from the UTA view. See Cloning as a Parameterized Test.
- UTA can now instantiate objects of the Optional class.
- You can now configure a test configuration to send advanced metadata to DTP to allow DTP to more accurately classify violations. See Creating Custom Test Configurations.
- The coverage report has been enhanced to reduce its size and optimize performance. See report.coverage.version.
Removed Support for Environments
Removed Support for IDEs
NetBeans IDE is no longer supported.
Removed Support for Platforms
32-bit operating systems are no longer supported.
Removed Support for Third-party Static Analysis Tools
Support for integrating with Checkstyle and FindBugs has been removed. To process violations reported by third-party analyzers and view the data a on DTP, you can deploy Parasoft Multi-Language directly on your DTP server. Contact your Parasoft representatives for details.
Removed Support for Control Management Systems
Support for the following SCMs is removed:
- Serena Dimensions
- Synergy CM
- Visual Source Safe
Resolved Bugs and FRs
|FA-4752||BD.RES.LEAKS false positive|
|FA-4996||BD.PB.BADSHIFT false positive (integer promotion?)|
|JT-70186||Support for Lombok library|
|JT-72122||Java files encoded in UTF-8 with BOM is not supported correctly by Jtest parser|
|JT-72768||PB.USC.NACC false positive for Java interface|
|JT-72880||CERT mapping documentation|
|UTA-5205||Track and make assertions could duplicate assertions in test case|
|UTA-5209||Interaction with mock objects not detected due to class not monitored by tracer|
|UTA-5243||Only notNull assertion tracked for many types represent by abstarct classes|
|UTA-5248||Docs: Group libraries by framework, remove duplicates and add <scope>test</scope> for all mvn / gradle dependencies|
|UTA-5339||Unable to track and assert call which return mock object|
|UTA-5348||Recommended assertions cause compile errors on ImmutableActor from Waltz project|
|UTA-5349||Compile errors after bulk creation on Optional<? extends FieldChange<String>>|
|UTA-5365||Mocks wrongly created for Autowired HttpServletRequest and HttpSession|
|XT-37872||Parasoft Findings Jenkins Plugin rule documentation unreadable due to incorrect formatting|
|XT-38203||Exception thrown when loading IDE license token|