是否有C/C++的Findbugs和/或PMD等价物?

Bob*_*oss 18 c c++ java findbugs pmd

我最近被问及Coverity Prevent的替代方案,其代码库包括C/C++和Java.显然,在Java方面,可用的免费工具包括Findbugs(编译代码分析)和PMD(静态代码分析).它们非常强大,特别是当您开始研究与IDE的集成时(同样,它是免费的).

但是,当您开始使用各种编译器,体系结构等进入C/C++领域时,事情会很糟糕.

我已经为Java方面提出了各种工具,包括Findbugs和PMD.当我考虑使用以下指标时,我正在寻找的是C/C++方面的最佳选择:

  1. 价格:免费更好,但可以通过更好的价值打败.但是,每行代码收费的定价模型令人恐惧.
  2. 功能集:这个工具如何让我的生活更美好?在我检查错误之前,在我们发送代码之前,它会以什么方式检测我的错误等?
  3. 可用性:我可以在办公桌上使用该工具吗?我可以分享报告和/或调查结果吗?我可以将该工具与Fogbugz(我们在我的小组中使用)集成吗?我可以将该工具集成到CruiseControl(或等效产品)中吗?

最终的工具将是Findbugs和PMD具有相同功能集的组合,并且每个座位的零美元都是有用和可用的.

Tho*_*ens 4

我想到的两个是用于 C 的Splint和用于 C++ 的Cppcheck 。

如果你想寻找更多选择,这些工具的这个功能就是“静态代码分析”。这可能会帮助您找到更多用于 C 和/或 C++ 的工具。另外,您可能对“有哪些开源 C++ 静态分析工具可用?”这个问题的答案感兴趣。