个人中心

联系我们

搜索
搜索 登录 免费注册
界面美化
业务优化
开发工具
图像管理
文档管理
Parasoft

新闻资讯

关注工具软件产品最新动态,了解软件开发行业新趋势。

C和C++集成的开发测试解决方案Parasoft C/C++test v2024.1新版发布(上)

原创
软件测试
来源:Parasoft
C/C++
测试分析
加密/安全
2024-08-28
C/C++
测试分析
加密/安全

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

  • 增强型安全合规包

  • 增强型静态分析

  • 增强型覆盖分析

  • 支持编译器

  • 支持集成开发环境

  • 新的和更新的测试配置

  • 其他更新

  • 已解决的错误和 FR

  • 规则更新


升级注意事项

  • 授权 C/C++test 2024.1 需要 DTP 或许可证服务器 2024.1。您必须在升级到 C/C++test 2024.1 之前升级到 DTP 或许可证服务器 2024.1,才能成功获得产品许可证。

  • 与 DTP 和许可证服务器的连接必须通过 HTTPS。不再支持 HTTP。


增强型安全合规包

  • 安全包已通过新的 CWE Top 25 2023 和 CWE Top 25 + on the Cusp 2023 测试配置进行了扩展,以帮助您实现安全标准合规性。

  • DISA ASD STIG 规则集和 DISA-ASD-STIG 测试配置已更新,以反映 DISA-ASD-STIG 2022-09 标准的变化。


增强静态分析

  • 流量分析引擎已得到增强,以更好地支持现代 C++ 结构,包括带有初始化器和结构绑定的 if 语句。这些增强功能可实现更精确的代码执行模拟,并提高报告结果的准确性。

  • 改进了选定 MISRA C++ 2023 规则的准确性。

  • 针对选定规则扩展了对规则参数化的支持。

  • 添加了新的代码分析规则,以扩大合规标准的覆盖范围。有关新规则和更新规则的列表,请参见新规则和更新规则。


增强覆盖范围分析

增强了对代码覆盖率报告的支持。现在,您可以启用一种报告模式,在这种模式下,编译时已知结果的分支/决策将被忽略。有关详情,请参阅在编译时已知决策结果时忽略决策/分支点。


支持编译器

现在支持以下编译器

编译器名称编译器标识符
GCC for Tricore 4.9.x tricoregcc_4_9
HighTec Clang C/C++ 编译器 8.1 (aarch32/arm)*hightec-clang_8_1-aarch32
ARM 版 IAR 编译器 9.40x iccarm_9_40
ARM 版 IAR 编译器 9.50x iccarm_9_50
QNX GCC 8.x (ARM64) **qccarm_8-64
QNX GCC 8.x (x86_64) **qcc_8-64

* - 仅进行静态分析。

** - 支持级别已从标准更新为扩展。


支持集成开发环境

新增了对 Eclipse 4.21 (2021-09) - 4.31 (2024-03) 版本的支持。


新增和更新的测试配置

通过添加对以下测试配置的支持,扩展了安全合规包:

  • CWE Top 25 2023

  • CWE Top 25 + On the Cusp 2023

  • OWASP API 安全性 10 强 2023

使用新规则更新了以下测试配置:

  • DISA-ASD-STIG


其他更新

  • 增强了 Bazel 构建系统集成。现在支持为 Bazel 收集代码覆盖率。有关详情,请参阅与 Bazel 集成。

  • 如果配置为需要身份验证,现在可以启用身份验证来连接独立的许可证服务器;请参阅许可和 license.network.auth.enabled。

  • 现在可以使用 report.xml.param{n}.key 和 report.xml.param{n}.value 设置,指定要添加到 report.xml 标头的自定义参数。

  • 通过使用 parasoft-instrumentation coverage 注释,可针对特定功能禁用或启用覆盖工具。请参阅有选择地禁用覆盖工具。

  • 提供的 JRE 已升级至 17.0.10+7 版。


弃用和删除的支持

将废弃的编译器

未来版本将不再支持以下编译器:

  • ARM 编译器 5.0

  • 用于 uVision 的 ARM 编译器 5.0

  • GNU GCC 4.9.x (mips64el)

  • 用于 PPC 的 Green Hills 软件编译器 2013.1.x 版

  • 用于 MSP430 的 IAR 编译器 v. 6.1x

  • Microchip MPLAB C30 Compiler for dsPIC v3.2x

  • 用于 Win32 的 National Instruments LabWindows/CVI 2015 Clang C/C++ 编译器 v3.3

  • 瑞萨 RX C/C++ 编译器 2.5x


停用的编译器

以下编译器已不再支持,并将在今后的版本中删除:

  • GNU GCC 5.x

  • GNU GCC 5.x (x86_64)

  • GNU GCC 6.x

  • GNU GCC 6.x (x86_64)

  • 用于 ARM64 的 Green Hills 软件编译器 v. 2014.1.x

  • 用于 PPC 的 Green Hills 软件编译器 v. 4.2.x

  • 适用于 PPC 的格林希尔软件编译器 v. 5.0.x

  • 适用于 V850 的 Green Hills 软件编译器 v. 2014.1.x

  • 用于 ARM 的 IAR 编译器 v. 7.4x

  • 用于 ARM 的 IAR 编译器 v. 7.8x

  • 用于 M16C 和 R8C 的 IAR 编译器 v. 3.5x

  • Microsoft Visual C++ 14.0

  • Microsoft Visual C++ 14.0 (x64)

  • SH 系列 C/C++ 编译器 V.9.04.xx

  • Vx-toolset for TriCore C/C++ Compiler 6.2

  • 风河 GCC 4.8.x


已删除的编译器支持

不再支持以下编译器:

  • Clang C/C++ 编译器 v 6.0

  • FR 系列 Softune C/C++ 编译器 V6

  • TI MSP430 C/C++ 编译器 GNU GCC 6.x

  • TI TMS320C2000 C/C++ 编译器 v16.9


已解决的错误和 FR

错误/FR ID描述
FA-9866可能的 MISRA 假阳性(BD-API-STRSIZE、BD-PB-OVERFRD)
FA-9453C 标准库中不正确的 realloc 函数建模 Juliet/CWE-401
FA-9736为联合成员存储的值不正确
FA-9847使用 sizeof byte != 8 的编译器时,可能出现不正确的增量分析结果
FA-9689BD-PB-VOVR 抛出 java.lang.OutOfMemoryError
FA-9787BD-PB-OVERFNZT 假阳性
FA-9713BD-PB-OVERFFMT '*' 字符串精度的误报
FA-9856BD-PB-NOTINIT 通过引用在调用函数中初始化数组的误报
FA-9795BD-PB-NOTINIT 假阳性
FA-9842BD-PB-CC 假阳性
FA-9692BD-PB-ARRAY(MISRAC2012-DIR_4_1-a) - 假阳性
FA-9883嵌套结构的 BD-PB-ARRAY 触发器
FA-9852BD-PB-ARRAY 不一致的行为
FA-9841BD-PB-ARRAY 假阳性
CPP-56507[静态] 更新 OPT-03 (AUTOSAR-A0_1_4-a) 的文档,用于模板中 “if constexpr ”使用的参数
CPP-56434[静态] 分割 CODSTA-63 规则,以(选择性地)排除报告在位运算符中使用的正 const 整数值
CPP-56663[静态] OPT-05 (AUTOSAR-M0_1_3-c) 在内部类的函数中使用私有成员时报告假阳性
CPP-56801[静态] 为 BD-PB-VOVR 的内置克隆修改 "报告变量声明 > 包括未使用的非初始化基元和指针。
CPP-56788[static] MISRACPP2023-16_6_1-a 报告运算符 << 非对称的假阳性违规行为
CPP-56783[static] MISRACPP2023-9_5_1-a:改善违规讯息
CPP-56656[static] MISRACPP2023-9_5_1-a (CODSTA-315) 感知循环计数器与循环绑定类型不匹配时的误报
CPP-56785[static] MISRACPP2023-6_7_2-a 报告全局 constexpr 变量的误报
CPP-56789[static] MISRACPP2023-5_10_1-a 嵌套 “posix ”命名空间的错误报告
CPP-56722[static] MISRA2004-14_1_a (MISRACPP2023-0_0_1-a) 报告 “if constexpr ”语句后带有 “else ”的代码的错误结果。
CPP-50180[static] MISRA2004-10_1_a (MISRA2008-5_0_4_a) 报告对枚举常量的误报
CPP-56463[静态] 在 MISRA C++:2023 7.0.1 和 7.0.3 中引入额外异常,允许丢弃函数返回的值 (CODSTA-CPP-211, CODSTA-316)
CPP-56508[静态] INTERNAL-GLOBAL-ONEUSEVAR_1 在模板上报告 python 错误
CPP-56784[static] INIT-19 (MISRACPP2023-15_1_4-a) 报告默认复制和移动构造函数的错误报告
CPP-55746[静态] 改进 HIC++ 7.1.6 要求的映射
CPP-56491[静态] 改进 MISRACPP2023 规则 16.6.1 的映射
CPP-56566[静态] 改进 MISRACPP2023 规则 8.2.5 的映射
CPP-56286[静态] 改进 MISRACPP2023 规则 6.7.2 的映射
CPP-55003[静态] 改进 MISRA2008-7_5_4 / AUTOSAR-A7_5_2-a 的映射
CPP-56658[static] 改进 CWE-190 整数溢出的映射
CPP-52872[静态] 改进 AUTOSAR M5-8-1 的映射
CPP-56786[static] FORMAT-48 (MISRACPP2023-6_0_1-b) 报告在 noexcept 中使用的参数的错误报告
CPP-52955[静态] 扩展 MISRA2008 5-8-1 (AUTOSAR M5-8-1) 规则的映射
CPP-56745[静态] 在要测试的文件总数中不报告没有相应源文件的头文件
CPP-56284[static] CODSTA-MCPP-11_a_cpp11 (AUTOSAR-A7_1_2-a) 报告编译器生成变量的误报。
CPP-56220[static] CODSTA-CPP-92 (MISRA2008-10_2_1-a, AUTOSAR-M10_2_1) 不会报告在不同文件中定义的类或在继承层次结构中使用相同基名的类的违规情况。
CPP-56717[static] CODSTA-CPP-82 (MISRACPP2023-6_7_2-a) 报告有关全局 constexpr 变量的错误报告
CPP-56270[static] CODSTA-CPP-62 (MISRA2008-4_10_1, AUTOSAR-A4_10_1-a, AUTOSAR-M4_10_1-a) 当 'NULL' 宏展开为不同于字面 '0' 的值时,不会报告违规行为。
CPP-56502[static] CODSTA-60 (CERT_C-EXP20-a) 在带有'TRUE'的行包含使用宏时,不会报告违规行为。
CPP-56183[static] CODSTA-14 报告从非指针/非引用类型进行投递时的误报。
CPP-55734[static] RapidJSON 项目上的 CDD-DUPI 分析挂起
CPP-56660[static] 新增线程内 CWE-366 竞赛条件的映射
CPP-55599[静态] 为 CWE 398 代码质量差添加映射
CPP-55598[static] 为 CWE 390 无操作错误添加映射
CPP-56728[规则向导] 在 “if constrexpr-else ”构造后错误地检测到空语句
CPP-56582[ide]优化 C/C++test Pro 中的静态分析以适应大型工作区
CPP-56804[引擎] 将 vc_14_3 编译器的 edg.microsoft_version 更新为 1939
CPP-57360[引擎] 在 Clang 10 及以上版本中支持通用模板参数
CPP-57372[Engine] 程序在以下位置收到信号 11: 堆栈跟踪:0# 0x00007FC1B9C81090 in /lib/x86_64-linux-gnu/libc.so.6
CPP-56572[引擎]解析错误:参数包 “type_t ”被引用但未展开
CPP-56513[引擎]解析错误:原子约束依赖于自身
CPP-54945[引擎] 仪器无法编译 - 错误:成员函数模板的无效重新声明
CPP-56749[引擎]hexagon_clang 的 target_gnu_version 错误并破坏指定的初始化器
CPP-56924[引擎] IAR 编译器 9.10 中的灵活数组成员初始化解析错误
CPP-56925[引擎]错误:部分特化的模板参数列表包括一个非类型参数,其类型依赖于一个模板参数
CPP-56665[引擎]错误:没有重载函数 rapidjson::GenericValue 的实例
CPP-56583[引擎]错误:函数“<unnamed>::TraceInternals::GetProcAddress ”的一个以上实例匹配参数列表
CPP-56601[引擎]错误:此处不允许使用 ref-qualifier
CPP-56272[engine] 错误: “final "不是函数或静态数据成员
CPP-56435[引擎]在 Android NDK 中使用 _attribute_((overloadable))进行双重定义
CPP-56735[引擎] cpptestcc 在检测覆盖率时崩溃
CPP-56584[引擎] 命令行错误:使用带有 # 的 /D 时宏定义无效
CPP-57059[引擎] 类模板与模板参数不兼容
CPP-56911[引擎] C/C++test 无法识别使用 std::tuple 的函数中的存根
CPP-56676[引擎] 为 edgtk 管理程序添加对新内置类型的支持
CPP-36809[覆盖率] 在编译时已知决策结果时忽略决策/分支点
CPP-51512[覆盖率] 文档 “parasoft-instrumentation 覆盖率关闭/打开 ”注释
CPP-52296[编译器] 支持 IAR ARM 9.40 (windows、扩展、完整)
CPP-55821[编译器] 支持 HighTec TriCore 4.9 (windows,扩展,完整)
CPP-55518[编译器] 支持 ARM 的 HighTec C 编译器(基于 LLVM 13.x) - 静态分析
CPP-56592[编译器] 扩展支持 QNX GCC 8 (x86-64, arm64)
CPP-56467[编译] cpptesttrace 文件路径中的空格错误
CPP-56918[build] cpptest_bdf.bzl 有两个编码错误

 

联系我们

周一至周日 8:00-23:00

免费热线

023-62585653

张经理:13082556879

罗经理:17558866126

许经理:13057566525

开发外包

ERP-一体化

小程序

企业微信客服

版权所有:重庆庚乾信息科技有限公司 ©2025 Gengqian Information Technology Co., Ltd. 渝ICP备2022008063号-2 渝公网安备50010702505508

版权所有:重庆庚乾信息科技有限公司

©2025 Gengqian Information Technology Co., Ltd. 渝ICP备2022008063号-2 渝公网安备50010702505508