在此版本中,我们专注于增强代码分析功能并扩展了对环境的支持。

扩展对编译器的支持

  • 支持 PPC 2017.1.x 的 Green Hills Software Compiler

对平台的扩展支持

  • 支持 Windows Server 2016

对 IDEs 的扩展支持

  • 支持 Eclipse 4.7

增强型流量分析

现在,您可以配置【流量分析】以分析范围之外的功能和文件列表 (有关详细信息,请参阅流分析 )。

新建代码分析规则

规则 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 CMISRA-030
MISRA 2004MISRA2004-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 2008MISRA2008-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 2012MISRA2012-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-36964SECURITY-14不检查 scanf() variants
CPP-38107CODSTA-10 不支持“自动”类型
CPP-38218COMMENT-05 可能不会报告对宏中定义的变量的违反
CPP-38234MISRA2012-RULE-12_2(MISRA2004-12_8)应该以与 'if’相同的方式检查循环条件 
CPP-38339将函数参数传递给 printf() 时,SECURITY-05 可能不会报告违规情况
CPP-38408[C++test Desktop] 针对特定违规的【查看测试配置】操作未显示正确的配置
CPP-38588Pb-25 报告 std::initializer_list 上的不正确违反
CPP-38592MISRA2004-10_1_g 可能不会报告将函数参数隐式转换为普通 char 类型和将其转换为普通 char 类型
CPP-39416CODSTA-11 不报告其示例代码违规
CPP-39489'cast’节点的 RuleWizard 属性 'Kind’ 不适用于功能强制转换
CPP-39494当 malloc() 分配的内存分配给具有多个间接级别的指针时,MRM-45报告误报
CPP-39534D3dx10math.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-39758Qcc:添加支持通过 '-Wp’ 选项启用 c99 模式
CPP-39804解析错误:不允许输入类型名称
CPP-39834NAMING-05 报告基于范围的 'for’循环为误报
CPP-39835如果在不同的翻译单元中执行成员初始化,则 INIT-06 将报告错误违规
CPP-39838FORMAT-26 报告 Rvalue 引用的误报
CPP-39839NAMING-05 报告基于范围的 'for’循环为误报
CPP-39894[文档] UNIX 安装脚本错误
CPP-39912[C++test Desktop]静态分析忽略 SVN 服务器端口
CPP-39919MISRA2012-DIR-4_4 引起多行注释问题
CPP-39925当将赋值运算符明确定义为默认值时,JSF-081(OOP-34)和 JSF-082(CODSTA-CPP-02)报告误报
CPP-39973CLLOCRIT 忽略在类主体外部定义的函数中的注释
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-5783BD-PB-MODSTR 规则可能在报文中包含'$tmp_.....' ,从而使两次运行之间不一致
FA-5672如果在成员字段的地址上执行了指针算法,则 BD-PB-PTRARR 不会报告违规
FA-5760使用 pthread_mutex_trylock(或具有类似功能的任何其他功能)完成第二次锁定时,将 BD-TRS-DLOCK 更新为不报告
FA-5077找不到 BD-MISC-DC/重复违规
FA-4779Java 图元素不包含有关隐式强制转换的信息
FA-4830PB.ARRAY 由于缺少 String.Length 属性模型而导致误报
FA-5836预分析被异常破坏
FA-5091仿真状态缺少有关指针和数组值之间的连接的信息
FA-5905BD-PB-OVERFWR 可能为误报-错误地确定了 char[0] 类型的最后一个 struct 字段的越界
FA-5883增量分析缓存压缩不起作用。
XT-10181 几小时的输入值下降了一个,导致无法借用许可证。 
XT-34419 根据项目从 IDE 导入结果不起作用。
XT-34610默认的 build.id 与文档中的不同。
XT-34642 作为 pipeline 项目的一部分执行时,Parasoft Jenkins 插件会卡住。
XT-34944为后续构建计算不同的会话标签
XT-34960DTP 突出显示了违规的错误行。
XT-34977报告中包含错误的会话标签-noscBranchparameter
XT-34985SVN 服务器端口未正确传递到引擎。
XT-34995元数据处理器可能存在的问题。
  • No labels