【问题标题】:Free static code scanner for C/C++/C# [closed]用于 C/C++/C# 的免费静态代码扫描器 [关闭]
【发布时间】:2009-01-29 16:13:33
【问题描述】:

有人知道用于 C#、C 或 C++ 中自动代码分析的开源和/或免费代码扫描器吗?

我知道对于 Java,有一些很棒的东西,比如 FindBugs(Eclipse 集成)、PMD 或 Hammurapi。

C 语言有什么类似的吗?

希望

【问题讨论】:

  • C# 并不是真正的 C 语言,它更接近于 Java。用于 C 和 C++ 的免费开源静态分析软件似乎非常缺乏:-(。
  • @starblue:lint 工具有什么问题?
  • lint 真的是一个很好的提示!谢谢;)连同这里的答案中的 M$ C# 东西(code.msdn.microsoft.com/sourceanalysis/Release/…),我的问题都解决了;)

标签: c# c++ c open-source static-analysis


【解决方案1】:

FxCop 是一款适用于 .Net 的免费扫描器。

http://msdn.microsoft.com/en-us/library/bb429476(vs.80).aspx

【讨论】:

    【解决方案2】:

    对于 .NET 语言,您可以查看Reflector CodeMetrics,它提供了一些代码分析和设计指标。还请查看所有Reflector addins

    我也赞同 FxCop 和 StyleCop 的建议。

    【讨论】:

      【解决方案3】:

      StyleCop 进行源代码级别分析。

      【讨论】:

        【解决方案4】:

        NDepend 有一个为期两周的试用许可证。

        【讨论】:

        【解决方案5】:

        对于 C 代码,您可以查看Coccinelle。它已经被使用了 查找和修复 Linux 内核中的错误。

        【讨论】:

          【解决方案6】:

          Resharper 做了一些代码分析,特别是指出冗余代码和逻辑错误。

          【讨论】:

            【解决方案7】:

            您可以通过使用 /analyze 开关运行 VC++ 获得一些价值。虽然,并非每个版本都提供此特定开关。获取 Windows SDK 附带的编译器。

            【讨论】:

              【解决方案8】:

              通过这里的 cmets 和一些谷歌魔法,我来到了夹板: http://splint.org/

              • 似乎对 C 很有帮助。
              • 易于使用
              • 不依赖于 Visual Studio

              对于 VisualStudio 和 .Net,FxCop 和 StyleCop 扩展看起来非常复杂。

              到目前为止,谢谢, 希望

              【讨论】:

                【解决方案9】:

                你会发现一个免费和不太免费的静态分析工具列表here

                【讨论】:

                  【解决方案10】:

                  Gendarme 是免费和开源的。它在 IL 级别进行分析,并使用 pdb 提供与源文件相关的信息。即使没有 pdb,它也能提供结果,但很难在代码中本地化。

                  请注意,最好在发布代码上使用它,这对于静态分析器来说是不寻常的。这是因为 IL 分析:调试代码杂乱无章,导致更多误报。

                  Gendarme 生成漂亮的 HTML 报告,并且可以轻松集成到 cc.net 等持续构建服务器中。

                  【讨论】:

                    猜你喜欢
                    • 2011-10-24
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2019-02-09
                    • 2010-09-10
                    • 1970-01-01
                    相关资源
                    最近更新 更多