在开发输入大小合理的程序时,可以开发边缘情况并发现程序中存在的错误。但是当程序的输入非常大时(例如,用于图像处理的程序),调试的最佳方法是什么?
答案 0 :(得分:1)
也许delta调试方法可以帮到你。请参阅this文章
答案 1 :(得分:1)
关于增量调试,我认为提及有关该主题的第一篇论文非常重要:https://www.cs.purdue.edu/homes/xyzhang/fall07/Papers/delta-debugging.pdf
答案 2 :(得分:0)
Fuzz Testing (Wikipedia)可以帮助识别尚未发现的错误。
如果您有可用的源代码,则可以使用执行白盒测试的工具。 Agitar是Java的工具。它将识别代码中的条件(如blur
语句),并创建代码来测试边缘情况并确保覆盖所有路径。
在您的代码中发现问题后,您可能希望之前应用其他人提到的delta调试算法。这有助于您将输入最小化,但仍然可以重现错误。模糊测试和白盒测试生成不保证最小输入。
除此之外,调试在很大程度上取决于您可用的编程语言和工具,所以我认为问题的一部分太宽泛而无法回答。