静态分析工具PC-lint Plus使用教程:MISRA检查

翻译|使用教程|编辑:况鱼杰|2020-11-18 15:26:06.717|阅读 199 次

概述:本文将会介绍如何在静态分析工具PC-lint Plus无需分析库头就进行MISRA检查。

# 31款JAVA开发必备控件和工具 # 企业数字化建设合规无风险[专题]

相关链接:

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

点击下载PC-lint Plus正式版


如果您查看MISRA作者文件:

au-misra1.lnt
au-misra2.lnt
au-misra3.lnt
au-misra-cpp.lnt
您会发现它们显式启用了库头的消息输出。 例如,在au-misra3.lnt中,您将看到规则4.9的以下条目:

/**** Dir 4.9 (Adv) ************/

    +e9026               /* function-like macro defined */
    +elib(9026)
    -append(9026,[MISRA 2012 Directive 4.9, advisory])

此处,相关选项为+ elib(9026):它针对出现在库头中的函数式宏定义请求消息9026的输出。

之所以要进行明确设置,是因为汽车行业软件可靠性协会(MISRA)标准通常假定开发人员可以控制目标系统(在汽车行业中很常见)的标准库实现和系统库实现的内容,并且 因此,需要开发人员在必要时分析和更正其库的内容。

如果您的安排有所不同(例如,如果您不打算编译自己的标准和系统库版本),则可以显式禁用库代码的消息输出。 一种方法是使用-wlib()选项切换警告级别,从而“擦除”库区域的消息抑制状态。 这必须在引用MISRA作者文件之后完成。 例:

au-misra3.lnt // enables Elective Notes for library code
-wlib(4)      // raises the warning level 
-wlib(1)      // lowers the warning level (and disables messages)

还请注意控制Lint是否将标头视为“库”标头的选项; 请参见Lint手册中的第6章(“库”)。

本文内容就是这样了,希望对您有所帮助!您可以继续关注我们慧都网,了解更多产品资讯~也可以下载PC-lint Plus试用版免费评估~

相关内容推荐:

PC-lint Plus v1.3.5更新内容>>>


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


标签:测试C/C++静态检测工具

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至hey@evget.com

文章转载自:Gimpel Software

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
在线咨询
联系我们
TOP
在线客服系统
live chat