我一直在检查Wikipedia中的某些静态分析工具。我正在检查每个工具的功能。
* - 自动变量检查
- 边界检查数组超支
- 类检查
等。*
我真的不确定下面是什么功能:
能够检查有条件语句中使用的变量是否正确分配,以使其输入或忽略语句。
示例1:
bool flag = false;
if( flag == true){
process1();
}
该工具应指出第2行是不正确的,因为它始终是错误的。
示例2:
bool flag = false;
flag = updateFlag();
if( flag == true){
process1();
}
该工具不应指出任何内容,因为该变量可能会在将其用作条件之前进行更改。
您可以使用Klockwork工具,该工具将告诉您代码无法到达,即死亡代码。
请参阅您可以在Klockwork中启用的休假棋盘。
https://docs.roguewave.com/en/klocwork/2016/candccheckerreference