我一直在查看维基百科中的一些静态分析工具。我正在检查每个工具的功能。
*-自动变量检查
- 边界检查数组溢出
- 班级检查
ETC。*
我真的不确定下面是什么能力:
能够检查条件语句中使用的变量是否正确分配,以便它进入或忽略语句。
示例 1:
bool flag = false;
if( flag == true){
process1();
}
该工具应该指出第 2 行是不正确的,因为它总是错误的。
示例 2:
bool flag = false;
flag = updateFlag();
if( flag == true){
process1();
}
该工具不应指出任何内容,因为变量在用作条件之前可能会发生变化。