鉴于只有if / else语句的程序,那么可以决定哪些变量发生但从未读过?
答案 0 :(得分:2)
是。给定一个只有if / else语句的程序[假设没有向后分支和循环],程序中存在有限数量的路径。
您可以检查所有这些条件,检查必须满足哪些条件才能到达每条路径,并找到矛盾[不可访问的路径],并通过这种方式查找从未使用过的变量。
这可以作为Hoare logic的更简单版本实现,自动化非常简单,没有循环。 [使用循环当然不可能使其自动化]
答案 1 :(得分:0)
您可以在特定的if块中放置跟踪或调试语句,例如
if (assertion)
{
// print or echo or var_dump etc..
}
else if(assertion)
{
// print or echo or var_dump etc..
}
else if(assertion)
{
// print or echo or var_dump etc..
}
如果您可以通过这种方式跟踪代码,则可以断言任何变量或块中的代码将被执行/读取。