0

在开发输入大小合理的程序时,可以开发边缘情况并发现程序中存在的错误。但是当程序的输入非常大时(例如,图像处理程序),调试的最佳方法是什么?

4

3 回答 3

1

同样在 delta-debugging 上,我认为提及该主题的第一篇论文很重要:https ://www.cs.purdue.edu/homes/xyzhang/fall07/Papers/delta-debugging.pdf

于 2015-04-24T12:57:52.957 回答
1

也许 delta 调试方法可以帮助您。参考这篇文章

于 2013-01-05T12:32:41.790 回答
0

如何测试

模糊测试(维基百科)可以帮助识别尚未发现的错误。

如果您有可用的源代码,则可以使用进行白盒测试的工具。Agitar就是这样一个 Java 工具。它将识别if代码中的条件(如语句)并创建代码以测试边缘情况并确保覆盖所有路径。

如何调试

一旦您发现代码中的问题,您可能想要应用其他人之前提到的 delta 调试算法。这可以帮助您将输入降至最低,但仍会重现错误。模糊测试和白盒测试生成不保证最小输入。

除此之外,调试很大程度上取决于您可用的编程语言和工具,因此我认为这部分问题过于宽泛而无法回答。

于 2015-06-23T11:00:18.683 回答