我正在阅读有关自动错误查找技术的知识,在(Valgrind)论文中,它提到了Valgrind是用于构建动态二进制分析工具的动态二进制工具框架。这可能有点愚蠢,但我对此处的命名有些困惑。仪器和分析之间到底有什么区别? (我知道它们是不同的词,但实际上有什么区别?)
仪器正在收集数据。分析就是分析它。 Valgrind之所以提到“动态”,是因为还有静态分析工具可以在不运行程序的情况下实际分析代码,而Valgrind在运行二进制文件时却可以分析二进制代码。
另请参见:
此自动错误发现tool的实现细节应回答您的问题:
动态二进制检测工具用于检测源代码以进行进一步分析。您可以使用不同的算法或技术来分析代码,例如本文中介绍的统计调试。