在此版本中,我们专注于增强代码分析功能并扩展了对环境的支持。
扩展对编译器的支持
- 支持 PPC 2017.1.x 的 Green Hills Software Compiler
对平台的扩展支持
- 支持 Windows Server 2016
对 IDEs 的扩展支持
- 支持 Visual Studio 2017
注释:C++test 需要随 Visual Studio 2017 一起安装特定的 Visual Studio 工作负载; 有关详细信息,请参见。支持 IDE
增强型流量分析
现在,您可以配置【流量分析】以分析范围之外的功能和文件列表 (有关详细信息,请参阅流分析 )。
新建代码分析规则
规则 ID | 标题 |
---|---|
GLOBAL-UNIQUETYPE | 类名、并名或枚举名(包括限定符,如果有的话)应是唯一标识符 |
GLOBAL-UNUSEDFUNC | 每个带有外部链接的已定义功能应至少使用一次 |
MISRA2008-0_1_10_b | 每个定义的带有外部链接的功能都应使用 |
MISRA2008-2_10_41 | 类名、并名或枚举名(包括限定符,如果有的话)应是唯一标识符 |
1 以下规则已被删除,新规则为 MISRA2008-2_10_4 : MISRA2008-2_10_4_a, MISRA2008-2_10_4_b, MISRA2008-2_10_4_c
更新了代码分析规则
规则类别 | 规则 IDs |
---|---|
流分析 | BD-SECURITY-TDENV, BD-SECURITY-TDCONSOLE, BD-PB-CHECKRET |
编码约定 | CODSTA-10, CODSTA-11, CODSTA-61, CODSTA-67, CODSTA-112, CODSTA-CPP-02, CODSTA-CPP-11, CODSTA-CPP-66, CODSTA-MCPP-10_a, CODSTA-MCPP-10_b, CODSTA-MCPP-14, CODSTA-MCPP-16_b, CODSTA-MCPP-16_c, CODSTA-MCPP-16_d |
注释 | COMMENT-05 |
异常 | EXCEPT-17 |
格式化 | FORMAT-26 |
初始化 | INIT-06 |
联合打击战斗机 | JSF-051_a, JSF-071_b, JSF-081, JSF-082, JSF-117_b, JSF-127, JSF-132_a, JSF-142_a, JSF-163, JSF-164, JSF-185, JSF-186_h, JSF-194, JSF-202 |
MISRA C | MISRA-030 |
MISRA 2004 | MISRA2004-2_4, MISRA2004-5_4_a, MISRA2004-5_4_b, MISRA2004-5_4_c, MISRA2004-9_1, MISRA2004-10_1_g, MISRA2004-12_8, MISRA2004-13_3, MISRA2004-16_9 |
MISRA 2008 | MISRA2008-0_1_10, MISRA2008-2_7_2, MISRA2008-2_7_3, MISRA2008-3_9_1, MISRA2008-5_2_4, MISRA2008-5_8_1, MISRA2008-6_2_2, MISRA2008-6_4_3_c, MISRA2008-6_4_6, MISRA2008-8_4_4, MISRA2008-8_5_1, MISRA2008-15_3_6 |
MISRA 2012 | MISRA2012-DIR-4_4, MISRA2012-RULE-5_7_a, MISRA2012-RULE-5_7_b, MISRA2012-RULE-12_2, MISRA2012-RULE-18_8 |
内存和资源管理 | MRM-45 |
命名约定 | NAMING-05 |
面向对象 | OOP-34 |
优化 | OPT-30 |
可能的错误 | PB-23, PB-25, PB-47 |
安全性 | SECURITY-02, SECURITY-05, SECURITY-14, SECURITY-15, SECURITY-28, SECURITY-37 |
已解决的 Bugs 和 FRs
Bug/FR ID | 说明 |
---|---|
CPP-40199 | 支持 GHS PPC 2017.1 编译器 |
CPP-39947 | 支持 Windows Server 2016 |
CPP-37054 | 支持 Visual Studio 2017 IDE 注意: |
CPP-39500 | [C++test Desktop]对 Eclipse 4.7 Oxygen IDE 的支持 |
CPP-31853 | 添加 MISRA2008-0_1_10_b: 每个定义的带有外部链接的功能都应使用 |
CPP-36719 | 如果参数包含无符号类型的一元减号('-a'),PB-47 不会报告违规 |
CPP-36964 | SECURITY-14不检查 scanf() variants |
CPP-38107 | CODSTA-10 不支持“自动”类型 |
CPP-38218 | COMMENT-05 可能不会报告对宏中定义的变量的违反 |
CPP-38234 | MISRA2012-RULE-12_2(MISRA2004-12_8)应该以与 'if’相同的方式检查循环条件 |
CPP-38339 | 将函数参数传递给 printf() 时,SECURITY-05 可能不会报告违规情况 |
CPP-38408 | [C++test Desktop] 针对特定违规的【查看测试配置】操作未显示正确的配置 |
CPP-38588 | Pb-25 报告 std::initializer_list 上的不正确违反 |
CPP-38592 | MISRA2004-10_1_g 可能不会报告将函数参数隐式转换为普通 char 类型和将其转换为普通 char 类型 |
CPP-39416 | CODSTA-11 不报告其示例代码违规 |
CPP-39489 | 'cast’节点的 RuleWizard 属性 'Kind’ 不适用于功能强制转换 |
CPP-39494 | 当 malloc() 分配的内存分配给具有多个间接级别的指针时,MRM-45报告误报 |
CPP-39534 | D3dx10math.h 的编译错误 C2059(449) |
CPP-39542 | [C++test Desktop]测试用例编辑器 ctrl+space 助手有时在值之前插入空格 |
CPP-39548 | 在 C++test 运行时中重命名 STRINGIZE 宏 |
CPP-39581 | 使 MISRA2008-2_10_4 成为全局规则 |
CPP-39741 | [C++test Desktop] SCC 工具的问号可能会导致编译错误 |
CPP-39742 | [C++test Desktop] MemoryAnalysis 和 Stubs 功能对所有文件强制执行 xharness(即使关闭了所有检测功能) |
CPP-39756 | [C++test Desktop]无法在测试配置 UI 中修改某些“流量分析高级设置” |
PP-39758 | Qcc:添加支持通过 '-Wp’ 选项启用 c99 模式 |
CPP-39804 | 解析错误:不允许输入类型名称 |
CPP-39834 | NAMING-05 报告基于范围的 'for’循环为误报 |
CPP-39835 | 如果在不同的翻译单元中执行成员初始化,则 INIT-06 将报告错误违规 |
CPP-39838 | FORMAT-26 报告 Rvalue 引用的误报 |
CPP-39839 | NAMING-05 报告基于范围的 'for’循环为误报 |
CPP-39894 | [文档] UNIX 安装脚本错误 |
CPP-39912 | [C++test Desktop]静态分析忽略 SVN 服务器端口 |
CPP-39919 | MISRA2012-DIR-4_4 引起多行注释问题 |
CPP-39925 | 当将赋值运算符明确定义为默认值时,JSF-081(OOP-34)和 JSF-082(CODSTA-CPP-02)报告误报 |
CPP-39973 | CLLOCRIT 忽略在类主体外部定义的函数中的注释 |
CPP-39975 | [C++test Desktop]在 DTP 中,带有数据源的测试用例计数不正确 |
CPP-40040 | 当成员变量声明包含'constexpr'时,CODSTA-67 报告为误报 [c++11] |
CPP-40122 | [C++test Desktop]可能会报告团队共享规则映射的映射错误 |
CPP-40137 | [C++test Desktop]允许使用编辑规则映射对话框克隆 RuleWizard 规则 |
CPP-40138 | [C++test Desktop]允许在编辑规则映射对话框中一次删除多个条目 |
CPP-40139 | [C++test Desktop]在编辑规则映射对话框中使用克隆/映射的规则 id 时,改进了错误报文 |
CPP-40144 | [C++test Desktop]提高抑制处理的性能 |
FA-5764 | 为 C++ 代码构建 CFG 时出错 |
FA-5623 | 否/错误处理没有抛出分配器 |
FA-5783 | BD-PB-MODSTR 规则可能在报文中包含'$tmp_.....' ,从而使两次运行之间不一致 |
FA-5672 | 如果在成员字段的地址上执行了指针算法,则 BD-PB-PTRARR 不会报告违规 |
FA-5760 | 使用 pthread_mutex_trylock(或具有类似功能的任何其他功能)完成第二次锁定时,将 BD-TRS-DLOCK 更新为不报告 |
FA-5077 | 找不到 BD-MISC-DC/重复违规 |
FA-4779 | Java 图元素不包含有关隐式强制转换的信息 |
FA-4830 | PB.ARRAY 由于缺少 String.Length 属性模型而导致误报 |
FA-5836 | 预分析被异常破坏 |
FA-5091 | 仿真状态缺少有关指针和数组值之间的连接的信息 |
FA-5905 | BD-PB-OVERFWR 可能为误报-错误地确定了 char[0] 类型的最后一个 struct 字段的越界 |
FA-5883 | 增量分析缓存压缩不起作用。 |
XT-10181 | 几小时的输入值下降了一个,导致无法借用许可证。 |
XT-34419 | 根据项目从 IDE 导入结果不起作用。 |
XT-34610 | 默认的 build.id 与文档中的不同。 |
XT-34642 | 作为 pipeline 项目的一部分执行时,Parasoft Jenkins 插件会卡住。 |
XT-34944 | 为后续构建计算不同的会话标签 |
XT-34960 | DTP 突出显示了违规的错误行。 |
XT-34977 | 报告中包含错误的会话标签-noscBranchparameter |
XT-34985 | SVN 服务器端口未正确传递到引擎。 |
XT-34995 | 元数据处理器可能存在的问题。 |