我正在开发一个程序,该程序应该能够判断我在计算机上运行的任何程序是否会崩溃。
大概可以读入机器代码,构建潜在代码路径的模型,测试每个代码路径在标准和边界条件下的行为,绘制导致未处理异常的条件,然后追溯所有这些步骤以生成所需的设置输入和条件,将触发要采用的异常代码路径。这就像使用模糊调试器,只是更有条理。当然这是很多工作,但它应该在现代硬件上很快完成。
一位同事说,我正在尝试做的事情基本上是不可能的。这对我来说似乎有点极端。鉴于技术发展的摩尔定律曲线,遥不可及的计算能力最终将成为现实——最终。说这样的事情永远不可能发生似乎有点言过其实。
为什么不能这样做?