用于C++/c共享和静态库的静态分析工具

问题描述:

我一直在寻找静态分析工具来检测C++/c共享和静态库中的缓冲区溢出,但没有成功。 特别是与用不同编程语言编写的程序集成的c/C++库?用于C++/c共享和静态库的静态分析工具

你有什么建议吗?

谢谢

+0

有很多c/C++静态分析工具:https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2C_C.2B.2B 商业和开源工具。 Coverity,Klockworks,Parasoft等等。还有一节关于多语言工具的部分:https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2C_C.2B.2B – Lonzak

+0

感谢Lonzak。我真正需要的是一种可以理解两种不同语言之间交互的工具:C/C++(作为库)和另一种语言。我已经看到一些C/C++工具可以分析程序的一部分,这些程序可以与C/C++一起用作库,但他们仍然无法理解交互作用或整个集成库来分析程序。 – Hex

不为C++,但对于C,并采用动态静态分析:我们CheckPointer程序检测各类内存访问错误,其中包括许多Valgrind的不会。与静态分析器不同,如果CheckPointer报告错误,则确实有错误。

测试共享库或调用“外部代码”的程序时,您将面临的一个问题是需要表征入口点和被调用的API的属性。 [无论工具是静态的还是动态的,你都必须这样做,因为被测试程序的正确性取决于它在入口处提供的gaurantees,以及外部API提供的gaurantees]。