Testbed 术语表 33 34 35 36
使用三重表达式
对过程的声明中未对参数进行说明 圈复杂度大于***
过程不是单纯的顺序嵌套循环 函数包含基本结点 函数非结构化 函数包含无限循环 未使用的函数参数
函数不是所有的路径上都有返回值 函数的实参是全局变量 代码中有多余变量
存在UR(变量未赋初值就引用)数据流异常 使用函数递归调用
33 S Use of ternary expression found. EADS-C 134
34 S No parameters declared in proc specification.
1 C Cyclomatic complexity greater than ***.
2 C Procedure is not reducible in terms of intervals.
37 38 39 40 41 42 43 44 45
3 C Procedure contains essential knots.
4 C Procedure is not structured.
5 C Procedure contains infinite loop. DERA 142
1 D Unused procedure parameter.
2 D Function does not return a value on all paths. MISRA/DERA 75 MISRA-C2 16.8
3 D Actual parameter is also global to procedure. DERA 148
4 D Variables declared but not used in code analysed. DERA 143
5 D UR data flow anomalies found. MISRA/DERA 30 MISRA-C2 9.1
6 D Recursion in procedure calls found. MISRA/DERA 70 MISRA-C2 16.2 EADS-C 117
46 47 48 49
存在DU(定义后未引用就退出作用域)数据流异常 存在DD(定义后未被引用就被再定义)数据流异常 被定义的参数可能存在Clear Path 在函数内部使用全局变量
7 D DU data flow anomalies found.
8 D DD data flow anomalies found.
9 D Defined parameter has possible clear path. DERA 151
10 D Globals used inside procedure.
上海创景计算机系统有限公司 3 Testbed 术语表 50 51 52 53 54 55 56 57 58
参数与期望的作用不匹配
被引用的变量可能存在Clear Path 函数中全局变量使用与局部变量作用类似 改变变量已被传递的值 存在未被使用的过程参数 函数调用中存在相同的实参 局部变量对结果没有意义 函数有多入口 函数有多出口
11 D Parameters do not match expected actions.
12 D Referenced parameter has possible clear path.
13 D Global used in procedure matches local parameter.
14 D Attempt to change parameter passed by value. DERA 152
15 D Unused procedural parameter.
16 D Identical actual parameters in call DERA 153
1 I Local variables contribute nothing to results.
6 C Procedure has more than one entry point.
7 C Procedure has more than one exit point. MISRA/DERA 82 MISRA-C2 14.7 EADS-C 111
59 60 61 62 63 64 65 66
静态过程没有被调用 函数没有返回语句
过程参数只有类型没有标识符 使用静态类成员
使用不恰当的循环变量类型 循环变量必须是局部的 在函数参数表中使用省略号 在结构体定义中使用位域
35 S Static Procedure is not called in text analysed.
36 S Function has no return statement. MISRA/DERA 75 MISRA-C2 16.8
37 S Procedure Parameter has a type but no identifier. MISRA/DERA 73 MISRA-C2 16.3
38 S Use of Static class member.
39 S Unsuitable type for loop variable. MISRA/DERA 65 MISRA-C2 13.4
40 S Loop index is not declared locally.
41 S Ellipsis used in procedure parameter list. MISRA/DERA 69 MISRA-C2 16.1
42 S Use of bit field in structure declaration. MISRA/DERA 111 MISRA-C2 3.5
上海创景计算机系统有限公司 4 Testbed 术语表 67 68
使用setjmp/longjmp
使用禁用的过程,函数,文件或名称
43 S Use of setjmp/longjmp. MISRA/DERA 122 AV 20 MISRA-C2 20.7
44 S Use of banned function or variable. MISRA/DERA 118 AV 17,18,19,21,22,23,24,25 MISRA
69 71 72
未使用 数组越界
在switch语句中没有default 语句
45 S Not in use.
47 S Array Bound exceeded. MISRA/DERA 4
48 S No default case in switch statement. MISRA/DERA 62 AV 194,196 MISRA-C2 15.3 EADS-C 1
74 75 76
对有符号类型进行移位操作 移位运算溢出
禁止给无符号变量赋负值
50 S Use of shift operator on signed type. MISRA/DERA 37
51 S Shifting value too far. MISRA/DERA 38 AV 164 MISRA-C2 12.8
52 S Unsigned expression negated. MISRA/DERA 39 AV 165 MISRA-C2 12.9
77 使用逗号操作符
53 S Use of comma operator. MISRA/DERA 42 AV 168 MISRA-C2 12.10
78 长度操作符sizeof的副作用
54 S Sizeof operator with side effects. MISRA/DERA 40 AV 166 MISRA-C2 12.3
80 禁止对实数类型的变量做相等比较操作
56 S Equality comparison of floating point. MISRA/DERA 50 AV 202 MISRA-C2 13.3 EADS-C 102 81 使用不起作用的语句
57 S Statement with no side effect. MISRA/DERA 53 AV 187 MISRA-C2 14.2 82 存在空语句
58 S Null statement found. MISRA/DERA 54 83 if语句中没有else分支
59 S Else alternative missing in if. MISRA/DERA 60 AV 192 MISRA-C2 14.10 84 禁止switch语句为空
60 S Empty switch statement. MISRA/DERA 64 AV 64 85 switch语句中只包含default
61 S Switch contains default only. MISRA/DERA 64 AV 64 MISRA-C2 15.5
上海创景计算机系统有限公司 5 Testbed 术语表 86 switch语句中的case语句没有由break语句来终止
62 S Switch Case not terminated with break. MISRA/DERA 61 AV 193 MISRA-C2 15.2 15.5 EADS-C 87 过程/函数的参数表为空
63 S Empty parameter list to procedure/function. MISRA/DERA 76 MISRA-C2 16.5 EADS-C 109 88 返回类型为void的的过程出现在表达式中
64 S Void procedure used in expression. MISRA/DERA 79 89 void类型的变量作为参数进行传递
65 S Void variable passed as parameter. MISRA/DERA 80 90 函数中只有return语句没有返回值
66 S Function with empty return expression. MISRA/DERA 83 MISRA-C2 16.8 93 使用#pragma
69 S #pragma used. MISRA/DERA 99 AV 26 MISRA-C2 3.4 95 指针指向比分配更大的范围
71 S Pointer assignment to wider scope. MISRA/DERA 106 AV 111,173 MISRA-C2 17.6 96 有符号的位域少于2个比特位的空间
72 S Signed bit field less than 2 bits wide. MISRA/DERA 111, 112 MISRA-C2 6.5 97 位域既不是有符号的整型也不是无符号的整型
73 S Bit field not signed or unsigned int. MISRA/DERA 111 MISRA-C2 6.4 98 声明联合
74 S Union declared. MISRA/DERA 109, 110 DERA 164 AV 153 MISRA-C2 18 99 在头文件前有可执行代码
75 S Executable code before an included file. MISRA/DERA 87 MISRA-C2 19.1
100 宏中使用了多个#和##
76 S More than one of # or ## in a macro. MISRA/DERA 98 MISRA-C2 19.12
103 禁止定义不像函数的宏
79 S Macro contains unacceptable items MISRA/DERA 90 DERA 157 MISRA-C2 19.4 EADS-C++ 4
104 指针的指针超过两级
80 S Pointer indirection exceeds 2 levels. MISRA/DERA 102 AV 169,170 MISRA-C2 17.5
105 使用三字母词
81 S Use of trigraphs. MISRA/DERA 7 AV 11 MISRA-C2 4.2 EADS-C++ 52
上海创景计算机系统有限公司 6 Testbed 术语表 106 使用wchar_t类型
82 S Use of wide string literal. MISRA/DERA 8 AV 13
107 使用八进制数
83 S Octal number found. MISRA/DERA 19 AV 149 MISRA-C2 7.1
108 使用寄存器变量
84 S Register variable declared. MISRA/DERA 28 AV 140
109 枚举元素的初始化不完整
85 S Incomplete initialisation of enumerator. MISRA/DERA 32 AV 145 MISRA-C2 9.3 EADS-C 81 EAD
110 重新定义保留字
86 S Attempt to define reserved word. MISRA/DERA 114 MISRA-C2 20.1
111 用指针进行代数运算
87 S Use of pointer arithmetic. MISRA/DERA 101 AV 215 MISRA-C2 17.1 17.4
112 嵌入汇编程序时,嵌入的过程不是纯汇编程序
88 S Procedure is not pure assembler. MISRA/DERA 3 MISRA-C2 2.1
113 字符类型没有标明是有符号还是无符号
89 S char type not signed or unsigned. MISRA/DERA 14
115 对变量重命名
91 S Name redeclared in another namespace (MR). MISRA/DERA 12 801 MISRA-C2 5.6 EADS-C 53
116 在枚举中重复使用一个名字
92 S Duplicate use of a name in an enumeration. MISRA/DERA 12 801 MISRA-C2 5.2
117 未使用
93 S Not in use MISRA/DERA 18, 48 MISRA-C2 6.1
118 对指针变量使用强制类型转换
94 S Casting operation on a pointer. MISRA/DERA 45 AV 182 MISRA-C2 11.2 11.3 11.4 EA
119 对其它类型变量强制转换成指针变量
95 S Casting operation to a pointer. MISRA/DERA 45 AV 182 MISRA-C2 11.4 EADS-C++ 28
122 未使用
98 S Not used. MISRA-C2 16.6
123 非调用的方式使用函数
99 S Function use is not a call. MISRA/DERA 85
124 未使用
100 S Not used. MISRA-C2 19.2
上海创景计算机系统有限公司 7