cor*_*der 3 algorithm findbugs halting-problem p-np
有一个工具称FindBugs它可以检测给定程序/代码库中的无限永不停止循环.
这意味着FindBugs可以通过分析代码来检测程序是否结束.暂停问题是定义以下问题:
给定任意计算机程序的描述,确定程序是否完成运行或继续运行
那么这是否意味着停止问题得到解决或停止问题的一部分得到解决?
不,它没有解决.Findbugs只发现一些无限永不停止循环的情况,例如:
public void myMethod() {
int a = 0;
while (true) {
a++;
}
}
Run Code Online (Sandbox Code Playgroud)
IIRC,它遭受的唯一错误否定是,如果myMethod从未调用上述方法,在这种情况下你仍然想要删除它,因为它是死代码.
它的确存在误报:很多非结束程序的情况都是找不到的.