Polyspace与代码度量(code Metrics)

简介:常见的规则如代码行数,圈复杂度等。但是polyspace中也会有对应的代码度量方法。

一般性测试类型

测试类型

Polyspace的测试报告的列表中一般有以下几项,

  1. 缺陷,冲突
  2. 合规性(MISRA标准的合规性)
  3. 代码度量
  4. 鲁棒性(根据测试选项)

代码度量的一般性运行结果

下面的测试结果中显示了代码度量的测试结果,一般情况下如果没有特殊要求,是可以直接接受的。代码度量显示了代码的复杂程度。

主要是以下的几类:

  • 语言范围
  • 调用层级
  • 调用函数的个数
  • 被多少个函数调用
  • 函数的参数的个数

测试的case分析

Number of function parameters 函数参数的数量过多

Justify:There are many arguments for the function.

一般严重程度设置为低。因为我们确实需要这么多的参数。

解释:下面的含义时函数的参数阈值为5,但是实际上这个函数的参数却达到了9个。

修改建议:改为结构体的形式可以减少函数的参数。但我们一般不会这么做。

Number of call levels 调用层级

 这里是度量嵌套控制流结构的深度。简单来讲是if else 的嵌套层数。

例子: 嵌套层级为2

例子:嵌套层级为3:

 Number of called function 调用函数的个数

被调用的函数个数,包含RTE接口,读和写等。

同一个函数被调用多次,计算的时候相当于1次。因此下面的数目为2.

递归函数的多次调用,也是相当于1次,因此下面的数目为1。

Number of Calling Functions 被几个函数引用

 

被同一个函数多次引用,也只计为1.因此下面的数目为2.

 Language Scope 语言范围

 语言范围  (操作符数目+操作数数目)/(操作符种类数+操作数种类数)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值