This release includes the following enhancements:
Release date: November 8, 2023
OpenAI Integration
- Parasoft Jtest introduces seamless integration with OpenAI and Azure OpenAI, enhancing its testing capabilities. You can now utilize your OpenAI or Azure OpenAI account to generate recommended fixes for static analysis violations and improvements for unit tests using natural-language instructions. These features enable you to efficiently resolve static analysis violations or customize your test scenarios according to your requirements.
- The Generate Suggested fix for... action in the IDE uses generative AI to provide analysis of a reported static analysis violation in the context of the associated code as well as an AI-generated suggested fix to resolve the violation. For details, see Generating a Suggested Fix.
- The Improve [method_name] with AI action available in the Unit Test Assistant view allows you to request your OpenAI provider to generate updates or enhancements for a selected test based on user-provided natural language instructions. For details, see Improving Tests with AI.
To use this functionality, OpenAI must first be configured in the Parasoft Preferences. See Configuring LLM Provider Settings.
Unit Test Assistant Enhancements
- Test case creation has been improved, with better consideration of boundary conditions.
- Support for primitive type arrays initialization and Optional class method calls has been improved.
Code Coverage Enhancements
- Test impact analysis workflows now support using a baseline report where metadata about lines of code that can be covered was collected during the build process. Previously, test impact analysis workflows only supported using a baseline report where this metadata was collected by scanning application binaries.
New and Updated Test Configurations
The Security Compliance Pack has been extended by adding support for the following test configurations:
- CWE 4.13
- CWE Top 25 2023
- CWE Top 25 + On the Cusp 2023
- OWASP API Security Top 10-2023
The following test configurations have been updated:
- DISA-ASD-STIG
- Thread Safe Programming
- UL 2900
The following test configurations have been removed:
- CWE 4.10
- CWE Top 25 + On the Cusp 2021
- CWE Top 25 2021
Updated Static Analysis Rules
The following rules have been updated:
Rule ID | Updates |
---|---|
SECURITY.WSC.AMA | Better support for Cloneable interface and clone method. |
STRUTS.FWD | Additional error messages for missing path attribute cases. |
TRS.CIET | Fixed the parameter "Allow logging without rethrowing or resetting status". |
UC.UP | Additional "Check lambda expressions" parameter, disabled by default. |
The performance of the following RuleWizard rules and their compatibility with Java 17 syntax has been improved:
- CODSTA.BP.AULS
- CODSTA.OIM.CLONE
- CODSTA.OIM.CLONET
- EJB.LNL
- EJB.USF
- EXCEPT.AIOC
- EXCEPT.MTE
- EXCEPT.NCERR
- EXCEPT.TEFEC
- EXCEPT.TRY
- HIBERNATE.UNP
- OOP.PIFC
- PB.API.NDC
- PB.USC.RTE
- PORT.LNSP
- PORT.PEER
- SECURITY.BV.DSSM
- SECURITY.WSC.DCSM
- SECURITY.WSC.UMAIN
- TRS.AUTY
- TRS.NSM
- TRS.SOUF
- UC.AUL
- UC.BCMP
- UC.DIL
- UC.FMFC
- UC.VR
Updated Flow Analysis Rules
The following rule has been updated:
Rule ID | Updates |
---|---|
BD-PB-VOVR | Added a parameter to allow reporting on unused values assigned to function parameters. Added a parameter to allow reporting on unused and overwritten initial values of function parameters. |
Support for IDEs
The following IDEs are now supported:
- IntelliJ 2023.2
- Eclipse 2023-06 (4.28)
- Eclipse 2023-09 (4.29)
Additional Updates
- Support for the Mac Silicon chip (M1/M2) has been added.
- Support for multiple windows in IntelliJ has been added.
- Improved look and feel when using the IntelliJ new UI mode first introduced as a beta feature in IntelliJ 2022.3 and as a full feature in IntelliJ 2023.2.
- You can now configure Jtest so that it runs in a FIPS-compliant mode. See Configuring FIPS Mode.
- The shipped JRE has been upgraded to version 11.0.21.
- Visual Studio Code users can now configure the mapping of Jtest severity levels (1-5) to VS Code severity levels (Error/Warning/Information/Hint) and filter the violations inside VS Code based on Jtest severities using a text pattern.
- It is now possible to suppress a finding in the next line. See Next Line Suppression.
- Support for Gradle 8.x has been added.
- Support for Lombok 1.18.28 and 1.18.30 has been added.
- It is now possible to automatically remove jtestcli and the JRE included with Jtest from quarantine to allow their execution on Mac OS. See How to remove jtestcli and JRE from quarantine to allow their execution on Mac OS?.
Resolved Bugs and FRs
Bug/FR ID | Description |
---|---|
FA-9553 | BD.PB.ARRAY violation not found inside loop of array of unknown size |
FA-9599 | Improve BD-PB-CC rule so it cannot throw exceptions described when post-processing violations |
FA-9642 | Inaccurate fact deduction based on the complex arithmetic made on variables (e.g. 2 * x - x - x) |
FA-9665 | BD-PB-CC false positive |
JT-75551 | SECURITY.WSC.AMA rule query |
JT-75562 | Jtest Coverage Agent issue |
JT-75581 | False positive for STRUTS.FWD rule |
UTA-7963 | Track and make assertions generates the wrong expected value |
UTA-8055 | Do not generate tests with RuntimeExceptions as expected when the exception was not explicitly thrown |
UTA-8151 | [ IJ ] Missing dependency popup appears for cases with nested modules |
UTA-8166 | Wrong number of file selection in bulk creation dialog |
UTA-8244 | Bulk creation dialog blocks creation even if user has enough tokens |
UTA-8294 | Extra test generated which does not add coverage |
XT-41250 | Removed support for NetworkId and licenses based on network identifier |
XT-41333 | Empty file in report is marked as not checked but was tested |
XT-41729 | Incorrectly generated PDF reports from CLI in Japanese env |
Deprecated Rules
Deprecated Rule | Suggested Rule |
---|---|
BD-PB-POVR | BD-PB-VOVR |