gpt4 book ai didi

code-analysis - 您曾经比较过静态分析工具 Klocwork 和 Findbugs 吗?

转载 作者:行者123 更新时间:2023-12-03 05:23:59 32 4
gpt4 key购买 nike

我们使用 Klocwork 作为静态分析工具。

Klocwork 是一种商业工具,有很多优点,但也有误报等局限性。

我想知道谁曾将 Klocwork 与 Findbugs 等其他开源工具进行过比较。

通常,商业工具比开源工具更可靠。

但我认为 Klocwork 在 Android 等特定业务领域也存在一些可靠的问题。

你能说Klocwork在误报和误报方面优于其他开源工具,尤其是Findbugs吗?

最佳答案

几年前我对商业和开源静态代码分析工具(SCAT)进行了比较。克洛克沃克就是其中之一。长话短说,结果是在 java 环境中,商业工具没有提供证明其价格合理所需的(额外)值(value)。在发现的错误数量方面,findbugs 比任何这些工具都要好得多。只有 coverity 发现了一些其他工具没有发现的错误,并且具有最低的 FPR 。另一方面,coverity 并没有检测到 findbugs 确实发现的许多错误 - 所以对我们来说,所有工具并不能证明所涉及的资金是合理的。如果配置正确,findbugs 还可以提供非常低的 FPR。在更新的版本中,coverity 包括将 findbugs 集成到他们的解决方案中的可能性。嗯嗯,那么他们为什么要这么做呢? :-)

但是也有一些情况,例如当使用其他编程语言或编程语言间扫描时(例如,您的代码库包含其他编程语言(如 C、C++、C# ...)),或者您需要这些工具提供的一些附加功能 - 那么可能值得一看进入商业工具。但你可以自己做决定,因为每个解决方案都可以经过测试。访问他们的网页并下载/请求试用并亲自尝试(也许与此同时情况发生了变化?)。

我检查了以下工具:

商业:

  1. Coverity
  2. Klocwork
  3. Parasoft
  4. Cast

开源:

那么我们最后做了什么?我们安装了免费的sonar server它结合了许多工具,如 findbugs、pmd、checkstyle、cobertura 等。这样我们就得到了一个免费的解决方案,它在很多方面都比可用的商业工具更好。如果我需要走商业路线,我可能会仔细研究 coverity(并且再也不会看 CAST)。

[更新]关于您关于性能的问题 - findbugs 能够毫无问题地扫描巨大的代码库(如果您遇到问题,请将其发布在findbugs mailing list上,他们会帮助您)。我记得当时 findbugs 也是最快的工具之一。例如,Coverity 需要近 2 小时才能完成,而 findbugs 则在不到 10 分钟内完成。其他工具介于这些数字之间。

关于C和C++代码的扫描,您可以查看Splintcppcheck 。还有一些其他的helpful讨论该主题的线程。但正如前面提到的,由于 findbugs 仅适用于 java,并且您想要检测编程语言间的问题,商业工具可能具有优势。 所以最后,由于 findbugs 是免费的 - 只需在您的代码库上运行它,看看自己会发生什么 - 您的项目只能从中受益! 然后修复发现的错误,然后进行一些尝试商业工具 - 根据他们发现的错误数量和您将支付的价格,得出您自己的结论。举个例子:其中一种工具的成本为“代码行数”/除以 10(以美元为单位)。但在你的情况下,你可能会得到折扣;-)

[更新二]发现一个有趣的master thesis讨论这个话题。主要部分是关于 findbugs,但也提到了 klockwork 和 coverity。

关于code-analysis - 您曾经比较过静态分析工具 Klocwork 和 Findbugs 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18305195/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com