方法 |
asil |
qa·c |
qa·c |
|||
a |
b |
c |
d |
|||
1a. 低复杂度的强制执行 |
++ |
++ |
++ |
++ |
√ |
√ |
1b. 使用语言子集 |
++ |
++ |
++ |
++ |
√ |
√ |
1c. 强类型的强制执行 |
++ |
++ |
++ |
++ |
√ |
√ |
1d. 使用防御性实现技术 |
o |
+ |
++ |
++ |
√ |
√ |
1e. 使用现有的设计原则 |
+ |
+ |
+ |
++ |
√ |
√ |
1f. 使用明确的图形表示 |
+ |
++ |
++ |
++ |
- |
- |
1g. 使用风格指南 |
+ |
++ |
++ |
++ |
√ |
√ |
1h. 使用命名规范 |
++ |
++ |
++ |
++ |
√ |
√ |
方法 |
asil |
qa·c |
qa·c |
|||
a |
b |
c |
d |
|||
1a. 软件组件的分层结构 |
++ |
++ |
++ |
++ |
- |
- |
1b. 限制软件组件的大小 |
++ |
++ |
++ |
++ |
√ |
√ |
1c. 限制接口的大小 |
+ |
+ |
+ |
+ |
√ |
√ |
1d. 软件组件要求高内聚 |
+ |
++ |
++ |
++ |
√ |
√ |
1e. 限制软件组件低耦合 |
+ |
++ |
++ |
++ |
- |
√ |
1f. 恰当任务调度 |
++ |
++ |
++ |
++ |
- |
- |
1g. 限制使用中断alph |
+ |
+ |
+ |
++ |
- |
- |
方法 |
asil |
qa·c |
qa·c |
|||
a |
b |
c |
d |
|||
1a. 子程序和函数只有一个入 口点和一个出口点 |
++ |
++ |
++ |
++ |
√ |
√ |
1b.不含有动态对象或变量,或 可在线测试 |
+ |
++ |
++ |
++ |
√ |
√ |
1c. 变量初始化 |
++ |
++ |
++ |
++ |
√ |
√ |
1d. 变量名不能重复使用 |
+ |
+ |
++ |
++ |
√ |
√ |
1e. 避免使用全局变量,或可 使用时注明 |
o |
+ |
+ |
++ |
√ |
√ |
1f. 限制使用指针 |
+ |
++ |
++ |
++ |
√ |
√ |
1g. 没有隐式类型转换 |
+ |
++ |
++ |
++ |
√ |
√ |
1h. 无隐藏的数据流或控制流 |
++ |
++ |
++ |
++ |
√ |
√ |
1i. 没有无条件跳转 |
++ |
++ |
++ |
++ |
√ |
√ |
1j. 没有递归 |
+ |
+ |
++ |
++ |
√ |
√ |
方法 |
asil |
qa·c |
qa·c |
|||
a |
b |
c |
d |
|||
1a. 走查 |
++ |
+ |
o |
o |
- |
- |
1b. 检查 |
+ |
++ |
++ |
++ |
- |
- |
1c. 半形式化验证 |
+ |
+ |
++ |
++ |
- |
- |
1d. 形式化验证 |
o |
o |
+ |
+ |
- |
- |
1e. 控制流分析 |
+ |
+ |
++ |
++ |
√ |
√ |
1f. 数据流分析 |
+ |
+ |
++ |
++ |
√ |
√ |
1g. 静态代码分析 |
+ |
++ |
++ |
++ |
√ |
√ |
1h. 语义代码分析 |
+ |
+ |
+ |
+ |
√ |
√ |