自动化调试工具

4
我最近发现了自动调试的惊人世界,其中你的工具会尝试自动隔离导致错误的代码部分。从那时起,我找到了一些工具,如下所示:
  • delta debugging(在DD.py中实现),使用应用于调试的科学方法。
  • 静态和动态程序切片,提取子程序跟踪,突出显示您要观察的变量。
  • git-bisect,使用应用于代码历史记录的二分法并与delta调试混合以快速查找引起错误的更改。

我对查找更多的自动调试算法感兴趣,它们可以自动化调试过程的某些部分(或全部),并且存在一个实际的工作实现,特别是:

  • 使用Delta Debugging等方法(可以通过系统化/自动化的方式精确定位代码中出现错误的位置和原因)。
  • 是否有软件可以从完整程序中自动生成重现错误的最小程序

NB:我引用的一些工具主要面向Python,但我正在寻找任何语言的自动调试工具,我感兴趣的是方法和算法,而不是特定的实现,但我需要一个实现(即使只是概念证明),因为我想要已经实际应用于真实问题的算法(即它们是有效的,这不仅仅是计算机科学哲学)。

澄清:我不是在寻找自动化测试工具(自动测试以查找新错误),而是自动调试方法,其中您需要查找代码中特定错误的起源。


相关链接:http://stackoverflow.com/questions/15157903/are-their-semi-automatic-tools-to-help-produce-minimal-test-cases-similar-to-gi?rq=1 和 http://stackoverflow.com/questions/23035891/what-is-the-name-for-this-bug-finding-technique-and-do-programs-exist-to-automat?rq=1 - gaborous
2
此文介绍了一个有趣且实用的自动调试实现——基于模糊测试、统计调试和可视化技术自动查找错误。仅供参考。 - roedeercuco
1个回答

5
我找到了一些可以生成最小程序以重现错误的软件:
  • DD.py实际上有两个函数:dd()用于查找引入错误的最小更改,而ddmin()则查找最小配置(即最小测试用例)。
  • Delta是一个专门为此目的量身定制的程序。
我还在Udacity上找到了一门课程,名为Software Debugging,由Andreas Zeller,delta debugging的原始作者主讲。
顺便说一下:这些也是相关工具(虽然它们主要是单元测试工具,但它们可以与自动调试相结合使用,因此与其相关): 我仍在寻找自动调试的替代方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接