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.

See Defining File Filters Based on Source Control Data and Creating Custom Test Configurations.

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:

Rule IDHeader
SECURITY.WSC.FOLLOWEnsure that file target paths retrieved by resolving symbolic links are safe
SECURITY.WSC.LNKValidate shortcut target paths before use

We've updated the following rules:

  • BD.PB.VOVR
  • CODSTA.BP.BLK
  • CODSTA.ORG.DINT
  • CODSTA.POD.AUVT
  • CODSTA.READ.CCB
  • CODSTA.READ.PFL
  • EXCEPT.AEFC
  • FORMAT.ASPACE
  • FORMAT.CMS
  • FORMAT.IND
  • FORMAT.MSP
  • FORMAT.OSPL
  • FORMAT.SAUOP
  • FORMAT.TCOMMA
  • JAVADOC.CRN
  • JUNIT.ANBA
  • NAMING.DSN
  • OOP.INSOF
  • OPT.LIOL
  • OPT.STRBUF
  • OPT.UNC
  • PB.API.MASP
  • PB.LOGIC.AMOI
  • PB.NUM.UBD
  • PB.RE.ISEM
  • PB.TYPO.AECB
  • PB.USC.NACC
  • PB.USC.OI
  • SECURITY.UEHL.LGE
  • SECURITY.WSC.INIVF

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:

  • PB.LOGIC.AIL

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

UTA Enhancements

  • 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.

Other Enhancements

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:

  • AccuRev
  • ClearCase
  • CVS
  • Serena Dimensions
  • StarTeam
  • Synergy CM
  • Visual Source Safe

Resolved Bugs and FRs

Bug/FR IDDescription
FA-4752BD.RES.LEAKS false positive
FA-4996BD.PB.BADSHIFT false positive (integer promotion?)
JT-70186Support for Lombok library
JT-72122Java files encoded in UTF-8 with BOM is not supported correctly by Jtest parser
JT-72768PB.USC.NACC false positive for Java interface
JT-72880CERT mapping documentation
UTA-5205Track and make assertions could duplicate assertions in test case
UTA-5209Interaction with mock objects not detected due to class not monitored by tracer
UTA-5243Only notNull assertion tracked for many types represent by abstarct classes
UTA-5248Docs: Group libraries by framework, remove duplicates and add <scope>test</scope> for all mvn / gradle dependencies
UTA-5339Unable to track and assert call which return mock object
UTA-5348Recommended assertions cause compile errors on ImmutableActor from Waltz project
UTA-5349Compile errors after bulk creation on Optional<? extends FieldChange<String>>
UTA-5365Mocks wrongly created for Autowired HttpServletRequest and HttpSession
XT-37872Parasoft Findings Jenkins Plugin rule documentation unreadable due to incorrect formatting
XT-38203Exception thrown when loading IDE license token

  • No labels