Windows上的C ++静态代码分析工具

你知道什么C + +静态代码分析工具的Microsoft Windows开发,它提供了什么主要function?

请说明一个特定的工具是否依赖于cygwin,以及它的FOSS是免费还是需要购买。

类似的问题: 什么开源的C ++静态分析工具可用?

以下是当前状态的总结:

  1. 在Windows驱动程序工具包中findPreFAST
  2. Cppcheck
  3. Coverity公司
  4. PVS-工作室
  5. Klocwork Insight
  6. PC-林特
  7. CppDepend
  8. Goanna
  9. 哨兵
  10. Visual Studio团队系统
  11. 理解
  12. CCCC
  13. Cqual ++
  14. Flawfinder
  15. DMS软件再造工具包
  16. 维拉++
  17. 源监视器
  18. 堆栈 (源代码在github )

Cppcheck是开源的和跨平台的。

如果您运行VC2008(Express版本是免费的),然后安装最新的Windows SDK,则可以获得通常仅在VSTT中提供的相同的PREFAST静态代码分析工具。 如果您已经在使用Visual Studio,那么这是一个很好的方法,如果您使用的是GCC或其他编译器,则需要在其他地方查看。

我们使用Coverity 。 它不是免费的,但Windows是一个支持的平台。

我也听说奥克是好的。

PC-Lint做了一些公正的静态分析。

Klocwork “Insight”是另一个,但它不是免费的。 我也用Coverity “Prevent”。 如果您不介意成本,这两个产品都是非常好的产品。

你可以testing我们的工具CppDepend ,Pro版本不是免费的,但试用版本可以满足许多需求。

我认为这三款开源静态分析器令人印象深刻:

  • Cppcheck – 易于使用GUI界面。 检查编码标准和其他关键问题。

  • cccc – 输出编码指标,如代码行号,代码复杂性指数,评论计数等。

  • C ++ ++C ++ ++的目标是findstream不敏感的数据stream错误。 (你必须从源头上构build这个工具)

我的问题是:我可以添加自定义编码标准吗? 是否有任何开放工具支持添加自定义编码标准?

Visual Studio Team System现在有代码分析工具(虽然VSTT非常昂贵)。

我是被称为Goanna的Visual Studio C / C ++静态分析工具的开发人员之一。 这一个花钱(有一个免费试用),但我想这是好的。

我们的DMS Software Reengineering Toolkit可以处理各种C ++方言,包括C ++ 11 。

一个预先configuration的版本可以通过一个重复的代码检测器 (确切的或接近未命中的克隆)来获得,但是通常DMS被devise为被定制来执行你想要的分析。

DMS是一个商业包装。

编辑是的,你可以编码自己的自定义分析或风格检查。

Flawfinder

我已经使用源监视器多年了。 有些事情做的很好。 最好的部分是它是免费的。

在此查看源监视器的源代码页: Source Monitor

两年前我用Scitools的了解 。 它是可移植的(至less是我们使用的Windows-Linux组合)并且支持多种语言。 可能很好,那不是你所追求的…

无论如何,有趣的是它是相当实惠的,支持是令人印象深刻的,问题和问题往往不是在同一天处理。

我使用PC-Lint进行代码静态检查!

Vera ++还能够通过脚本检查自定义编码标准…