论坛首页 综合技术论坛

PGRelief

浏览 3971 次
锁定老帖子 主题:PGRelief
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2015-02-03  

PGRelief是日本富士通公司和南京富士通南大软件技术有限公司联合开发的软件静态测试分析工具,主要提供了三大功能:
丰富的代码检查功能、代码评审辅助功能、品质监视功能。
纵观当今软件行业的发展,对于提高软件品质、缩短开发周期以及降低开发成本的要求越来越紧迫。解决这些问题的核心在于,必须在开发的早期阶段就尽量发现并消除程序中的缺陷。PGRelief就是针对解决上述问题而设计的,它能够对源程序进行全面透彻地静态解析,有效精准地指出程序中存在的缺陷。



PGRelief基本功能介绍
通过本软件特有的技术及编码规范的多角度检查,可以准确地定位问题的位置。此外,通过代码评审支持功能可以高效率地处理所发现的问题。
丰富的代码检查功能
PGRelief对C/C++的源程序进行检查,既能指出单纯的编码失误,也能指出复杂的逻辑错误。此外,对不正确的内存访问、内存泄漏、内存释放以及性能恶化等问题也能进行检查。同时,能够对已确定不是问题的地方不再重复检查,以此来减轻开发人员的负担。

PGRelief C/C++ 2014版检查点总个数:650
检查点类别 C检查点个数 C++检查点个数
 函数内 广域探索
存在缺陷的可能性 153 4 139
关于移植性•维护性•易读性方面的问题 236 - 214
关于移植性•维护性•易读性方面的问题 105 - 90
(固件开发专用)
健壮性•安全性方面的问题 20 - 20
代码效率方面的问题 5 - 8
命名规则违反 5 - 5
其他(如语法错误等) 42 - 46
合计 566 4 522
检查点分类统计(基于PGReleif 2014)

代码评审辅助功能
 可以通过PGRelief的GUI查看检查结果
 可以选择输出认为需要的检查结果
 屏蔽不需要的检查结果
 对关注的检查点进行自由分组
提供了易用的用户接口,可以高效率地进行各种检查的验证作业。
例如,可以按照检查的类别(可靠性、可维护性、可移植性、效率性等),或检查点编号进行过滤,从而仅显示希望调查的检查结果。另外,通过简单的操作就可以显示对应的代码内容及检查点的含义、处理方法等。

编码规范检查功能
检查源程序是否符合以下编码规范的要求,并指出违反的相应规范之处。通过确保源程序符合这些规范,使程序品质具备坚实基础。
 IPA/SEC
 MISRA-C(1998/2004/2012)/MISRA-C++(2008) (可选产品)
 ISO26262

复杂度度量功能
不仅对程序中的问题进行检查,还可以对程序的控制结构等指标进行测量。基于该测量结果,可以计算出函数的复杂度。将这些复杂度作为程序开发的指标,可以推进更高品质的软件开发。
 对十余种度量值进行计算
包括对代码行数、注释以外行数、最大嵌套层数、MaCabe的TYPE1和TYPE2两种复杂度等多种程序复杂度度量值。
注:McCabe是什么?
McCabe是基于对程序拓扑结构复杂度的分析的一种度量方法。包括TYPE1圈复杂度和TYPE2基本复杂度。

 可以自由设定各个度量值的阈值
及时避免引入过分复杂的代码,有效降低程序整体复杂度。

命名规则检查功能
可以对函数名或变量名的命名规则进行定义和检查。
统计功能
可以对项目中的所有源代码的检查结果数据进行统计,并保存到文件。


  • 大小: 32.2 KB
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics