在开发输入大小合理的程序时,可以开发边缘情况并发现程序中存在的错误。但是当程序的输入非常大时(例如,图像处理程序),调试的最佳方法是什么?
问问题
137 次
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 回答