C和C ++的静态分析工具PC-lint Plus v1.3更新内容:改进MISRA C ++

在PC-lint Plus最新版本中,改进了关于MISRA C ++的内容,现在就跟着小编来看看更新了哪些内容吧~

PC-lint Plus是一种静态分析工具,通过分析C和C ++源代码来发现软件中的缺陷。与编译器一样,PC-lint Plus会解析源代码文件,执行语义分析,并构建一个抽象语法树来表示程序。PC-lint Plus采用各种机制,包括数据流分析,数值跟踪,读写分析,强类型检查,功能语义验证和许多其他技术,来提供对单个文件和整个项目强大而全面的分析。

在PC-lint Plus最新版本中,改进了关于MISRA C ++的内容,现在就跟着小编来看看更新了哪些内容吧~

PC-lint Plus免费版


MISRA C ++的改进:

  • PCLP-2700 消息9114(MISRA C ++ 5-0-3)现在即使仅转换基础类型而未转换实际类型,也报告违反规则

    现在将发出消息9114,以进一步违反此规则,在该规则中,C ++语言中没有进行任何转换,但是MISRA基础类型仍然发生了更改。例如,当在sub-int操作数上使用二进制算术运算符时,在执行操作之前,这些操作数已被提升为int,并且如果将结果赋给int类型的对象,则结果将不会进行任何进一步的实际转换。现在,这些情况将报告从sub-int操作数类型到目标类型的概念性基础类型转换。请注意,其他类似规则(例如MISRA C ++ 5-0-4)已经以这种方式运行。

  • PCLP-2705 改进了对MISRA C ++规则7-1-1的支持

    除了消息952(参数可以是const)之外,消息953(局部变量可以是const)和843(静态存储持续时间变量可以是const)现在支持MISRA C ++规则7-1-1。

  • PCLP-2741 改进了对MISRA C ++规则5-2-4的支持

    新消息1946(使用功能样式转换将类型转换为类型)改进了对MISRA C ++规则5-2-4的支持。

  • PCLP-2774 纠正误报1536消息

    1536的处理未正确处理指针成员变量。例如,以下将为指示的行生成1536消息:

  • PCLP-2798 改进了对规则5-0-3和5-0-6的复合赋值运算符的支持

    扩展了对规则5-0-3和5-0-6的支持,以报告由复合分配操作员隐含的操作引起的违规行为。

  • PCLP-2832 改进了对MISRA C ++规则3-9-3的支持

    当采用浮点型对象的地址时,不再发出消息9110。现在,新消息2499和2498报告了使用具有memcmp语义的函数来分别比较指向浮点型对象的指针,或指向包含浮点型对象的结构的指针。

  • PCLP-2877 支持数字相关的字符算术例外

    MISRA C ++ 2008规则4-5-3中与算术操作和代表数字的字符比较有关的例外现在应用于消息9112和9128。

  • PCLP-2880 忽略消息9141(7-3-1)的所有外部“C”声明

    对于带有外部“C”链接的任何声明,将不再发出消息9141。以前,有问题的特定声明必须明确标记为extern“C”才能被豁免,但这对于friend声明是不可能的,而对于以前声明为extern“C”的函数的其他重新声明则是不必要的。

  • PCLP-2881 新的解释选项限制了用于基础类型确定的常量表达式的定义

    新的MISRA C ++ 2008解释忽略了const变量的常量表达式基础类型规则,将避免应用规则,该规则将整数常量表达式的基础类型确定为当表达式涉及const或constexpr变量时能够表示该常量的最小类型。默认情况下,此解释为关闭。

  • PCLP-1840 MISRA C ++ 2008规则5-2-8仅向一个方向强制转换

    规则5-2-8以前由选修的notes 923和925的支持,该选修笔记报告了该规则涵盖的类型之间的类型转换,而与方向无关。它们已由消息9079和新消息9010代替,它们仅报告沿禁止方向的投射。

  • PCLP-2908 改进了对MISRA C ++规则7-1-2的支持

    现在,消息1764(功能的引用参数可以引用const)补充了消息818(参数可以是指向const的指针)以支持MISRA C ++规则7-1-2。

  • PCLP-2939 改进了对MISRA C ++ 2008规则4-10-2的支持

    当在另一个宏中扩展NULL时,使用NULL宏作为空指针常量的情况不再被报告为违反MISRA C ++规则4-10-2。

  • PCLP-2943 改进了对MISRA C ++规则2-13-2的支持

    现在已通过消息9001报告八进制常量的使用,这违反了MISRA C ++规则2-13-2。


想要购买PC-lint Plus正版授权,或了解更多产品信息请点击【咨询在线客服】

850×0.png

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年11月22日
下一篇 2019年11月22日

相关推荐

发表回复

登录后才能评论