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 |
n 可以通过PGRelief的GUI对检查结果进行查看处理
n 可以选择仅输出需要的检查结果
n 屏蔽不需要的检查结果
n 对关注的检查点进行自由分组
提供了易用的用户接口,可以高效率的进行各种检查的验证作业。
例如,可以按照检查的类别(可靠性、可维护性、可移植性、效率性等),或检查点编号进行过滤,从而仅显示希望调查的检查结果。另外,通过简单的操作就可以显示对应的代码内容及检查点的含义、处理方法等。
编码规范检查功能
检查源程序是否符合以下编码规范的要求,并指出违反该规范之处。通过确保源程序符合该规范,使程序品质具备坚实基础。
n IPA/SEC
n MISRA-C(1998/2004/2012)/MISRA-C++(2008)(2)
n ISO26262
杂度度量功能
不仅对程序中的问题进行检查,还可以对程序的控制结构等指标进行测量。基于该测量结果,可以计算出函数的复杂度。将这些复杂度作为程序开发的指标,可以推进更高品质的软件开发。
n 对十余种度量值进行计算
包括对代码行数、注释以外行数、最大嵌套层数、MaCabe的TYPE1和TYPE2两种复杂度等多种程序复杂度度量值。
注:
McCabe是基于对程序拓扑结构复杂度的分析的一种度量方法。包括TYPE1圈复杂度和TYPE2基本复杂度。
n 可以自由设定各个度量值的阈值
及时避免引入过分复杂的代码,有效降低程序整体复杂度。
命名规范检查功能
可以对函数名或变量名的命名规则进行定义和检查。
统计功能
可以对项目中的所有源代码的检查结果数据进行统计,并保存到文件。