静态分析工具PC-lint Plus使用教程:平台推广方案

转帖|使用教程|编辑:况鱼杰|2020-11-16 14:53:55.890|阅读 109 次

概述:本文介绍了PC-lint Plus的使用方法:平台推广方案​。

# 31款JAVA开发必备控件和工具 # 企业数字化建设 合规才安全

相关链接:

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

本文介绍了PC-lint Plus的使用方法:平台推广方案。

点击下载PC-lint Plus正式版


推广使用的前提

  • 通过对PC-lint在一定范围的试用,形成一个全平台统一的PC-lint检查选项模板,此模板应按照PC-lint不同的告警级别进行分类,按照从低到高逐渐提高告警级别的方式,一步一步改善程序质量。
  • 根据不同的模板和不同的阶段制定出循序渐进的检查通过标准,如:确定在某一阶段要求改掉某类告警的百分比。
  • 修改版本控制的流程,在模块并入版本前和版本提交测试前,增加通过PC-lint检查的要求,并按照通过标准进行执行。
  • 制定特殊情况的处理流程(在小范围内确定要求关闭某个告警信息)。

注:PC-lint告警级别可以通过-w选项进行设置。

-wLevel:设置错误信息告警级别。

-w0 No messages (except for fatal errors)

-w1 Error messages only -- no Warnings or Informationals.

-w2 Error and Warning messages only

-w3 Error, Warning and Informational messages (this is the default)

-w4 All messages.

个人的使用方案

如果每一个开发人员都使用PC-lint对各自开发、修改的代码进行检查,可以按照各自目前使用的开发工具集成PC-lint的做法,这样不仅运行方便,而且对告警的定位和程序修改都很方便,但是要求必须使用平台统一的PC-lint选项模板,并且只能自行增加变量和头文件路径信息的定义,不能随意关闭告警信息。

子系统的检查人的使用方案

采用PC-lint结合makefile的方式,在流程的检查点由指定人员对平台各个子系统的代码进行检查,并把PC-lint的告警信息发送给相关人员进行处理,通过检查后才能进入下一个流程。

特殊情况处理方法

由于各子系统代码风格或个人编程风格的差异,可能存在统一选项文件中的某个选项在大部分代码中是非常严重,必须排查的,而在某类代码中是轻微的,或者虽然也严重但对它的修改将会涉及众多文件的修改,这种众多文件的修改在短期内无法完成,对于这类特殊情况将可以通过在代码中加pclint编译信息,屏蔽相关选项的检查。但对于这类特殊情况,需要制定流程,要求提交相关的说明。

在代码中加入编译信息屏蔽pclint检查的形式根据代码情况的不同有许多种,但对它的整理需要多人投入较长时间对pclint进行详细了解才能获得,此处只提供一种最简单的方法,下面以实例说明:

某段代码中有一句语句 memset((void *)(&(pVar->Data)), 0, sizeof(A_Data));

被pclint检查出warning 545,可疑的&使用,但在程序中经过确认这句话没有问题,而且由于其他原因的限制不能替换为符合pclint的格式,则在此语句的前后中加入如下pclint可理解的注释

/*lint –e545 */ memset((void *)(&(pVar->Data)), 0, sizeof(A_Data)); /*lint +545 */

/*lint –e545 */表示在以后的语句中屏蔽e545的检查,/*lint +545 */表示在以后的语句中回复e545的检查。

通过这种方式即可在局部屏蔽pclint的检查。但程序中可能此语句非常多,对每个语句加注释会非常麻烦,目前还没有找到此情况下合适的方法。但对于宏,可以在宏定义中添加注释信息,如对于下面的宏定义

#define DIVZERO(x)  ((x) /0)

希望屏蔽e545的检查,则在宏定义中添加注释

#define DIVZERO(x) /*lint -save -e54 */ ((x) /0)  /*lint -restore */

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

相关内容推荐:

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


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


标签:测试静态检测工具

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


为你推荐

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