发布日期:2021 年 4 月 15 日

此版本包括以下功能增强:

IDE 支持

新增对以下 IDE 的支持:

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

Java 支持

Jtest 现在可以分析用 Java 12、13、14 和 15 编写的代码。

增强 GitHub 集成

此版本包括以下有助于简化 GitHub 工作流程的功能增强:

  • 支持以 GitHub 的 SARIF 格式生成报告,从而使 GitHub 能够将数据转换为代码扫描警报。
  • 新增 Jtest 操作,可在 Jtest 中运行分析,并在 GitHub 中查看结果,作为项目工作流的一部分。 

更多信息,请参阅 GitHub 上的 Jtest 操作文档:https://github.com/marketplace/actions/run-parasoft-jtest

扩展 Security Compliance Pack

添加对以下标准的支持以扩展 Security Pack:

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

此外,通过新增规则和更新现有测试配置,增强对 SEI CERT Java 编码规范的支持。 

请参阅新增和更新的测试配置

增强单元测试助手

优化测试创建过程,增加单个测试用例的覆盖率。UTA 现在可以利用数据流分析来确定生成测试所需的最少测试用例前置条件。这不仅减少了测试用例的大小和复杂性,还提高了效率。

新增和更新的测试配置

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

更新以下测试配置:

  • CERT for Java
  • Recommended Rules

删除的测试配置

  • CWE 4.2

优化测试影响分析配置

更新 TIA 相关选项,简化配置并确保与其他 Jtest 组件具有更好的一致性。

新的 Maven TIA 插件名称

原来的插件名称新的插件名称
cbt-maven-plugintia-maven-plugin

此变更会影响测试影响分析的命令行执行,以及 POM 文件中的配置。

原来的命令行新的命令行
mvn cbt:affected-tests testmvn tia:affected-tests test
原来的 POM 配置新的 POM 配置
<pluginGroup>com.parasoft.xtest.cbt</pluginGroup><pluginGroup>com.parasoft.jtest.tia</pluginGroup>

新的选项名称

原来的名称新的名称
parasoft.coverage.filejtest.referenceCoverageFile
parasoft.test.filejtest.referenceReportFile
parasoft.runFailingTestsjtest.runFailedTests
parasoft.runModifiedTestsjtest.runModifiedTests
parasoft.testFilterjtest.testFilter

新增和扩展的选项

选项名称说明
jtest.referenceCoverageFile增加对 URL 的支持。
jtest.referenceReportFile增加对 URL 的支持。
jtest.referenceStore

新增的选项。指定从 URL 下载的参考文件的位置,以优化 TIA 性能。

jtest.settings现在指定一个 .properties 文件。
jtest.settingsList新增的选项。指定多个 .properties 文件。

测试套件支持

增加对重新运行测试套件的支持。当测试套件中至少有一个测试受到代码变更影响时,测试影响分析会重新运行整个测试套件。

新增和更新的静态分析规则

添加以下规则:

规则 ID标题
CODSTA.EPC.NCBAV不要在同一数据上执行位和算术操作
PB.CUB.NCUCP不要假设 Java 字符完全代表 Unicode 代码点
PB.NUM.PMRWLED提供读写小端数据的方法

更新以下规则:

  • 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

其他变更

  • 增加对第三方覆盖率引擎 JaCoCo 的支持。您可以通过覆盖率代理选项Maven/Gradle 参数启用 JaCoCo 来配置 Jtest 使用 JaCoCo 的功能。
  • 优化 Jtest 运行流分析和收集代码覆盖率时的性能。
  • Jtest 不再支持将 Maven 的 Jtest 插件配置为在 site 阶段执行的报告插件。
  • 如果您的开发测试工作流程包括与 Parasoft DTP 集成,则需要将 DTP 更新到 2021.1 版本,以充分利用 Parasoft 的完整 SDLC 特性和功能。
  • 您现在可以通过向 Parasoft 发送匿名使用数据来帮助我们改进 Jtest。默认情况下会禁用报告使用数据的功能——您可以随时使用 IDE 或 Jtest 配置设置来启用该功能。
  • 解决 2021.1.1 版本中的 log4j 漏洞 CVE-2021-44228

删除和弃用的环境支持

删除的平台支持

删除对以下已弃用平台的支持:

  • Windows 7

弃用的 IDE 支持

弃用对以下 IDE 的支持,并将在以后的版本中删除:

  • Eclipse 4.4
  • Eclipse 4.5

解决的 Bug 和 FR

Bug/FR ID说明
FA-8186BD.PB.STRNULL 由于缺少对 org.apache.commons.lang3.StringUtils 的空值检查而产生误报
JT-72773未报告随附示例中的无限循环
JT-72997CODSTA.READ.DVCU 误报
JT-73322PB.LOGIC.SG 针对包含 @Data、@Getter 和 @Setter 注解的 Lombok 项目误报
JT-73396针对 Lombok 代码误报 + 提供 Lombok 支持的规则列表的请求
JT-73402为不会对受 Lombok 影响的类报告违规的规则添加说明。
JT-73430使用 Ant 插件分析时报告编译错误
JT-73432PB.CUB.NCUCP 缺乏资源
JT-73444HIBERNATE.CSF 的参数标签为空
JT-73459文档的“基于正则表达式模式定义行抑制”部分指向 C/C++test
XT-38874分析 Git 子模块中工作分支上修改的文件时出现问题
XT-38943Jtest 插件在 IntelliJ 2019.1.2 中执行某些操作后挂起。
XT-39009NativeSharedMemory 在 AWS linux 环境中崩溃。

  • No labels