P-NP问题解决了吗?FindBugs解决了停止问题?

cor*_*der 3 algorithm findbugs halting-problem p-np

有一个工具称FindBugs它可以检测给定程序/代码库中的无限永不停止循环.

这意味着FindBugs可以通过分析代码来检测程序是否结束.暂停问题是定义以下问题:

给定任意计算机程序的描述,确定程序是否完成运行或继续运行

那么这是否意味着停止问题得到解决或停止问题的一部分得到解决?

Geo*_*met 6

不,它没有解决.Findbugs只发现一些无限永不停止循环的情况,例如:

public void myMethod() {
    int a = 0;
    while (true) {
        a++;
    }
}
Run Code Online (Sandbox Code Playgroud)

IIRC,它遭受的唯一错误否定是,如果myMethod从未调用上述方法,在这种情况下你仍然想要删除它,因为它是死代码.

它的确存在误报:很多非结束程序的情况都是找不到的.

  • 同样,Findbugs也不会发现许多错误.但减少错误数量总是*一件好事.那么运行Findbugs. (3认同)