针对Java的静态分析工具推荐?

时间:2008-09-18 22:19:51

标签: java static-analysis

熟悉Java世界我正在谷歌搜索一个静态分析工具,该工具也足够聪明,可以解决它找到的问题。我在CodePro工具上运行但是,我再次成为Java社区的新手并且不了解供应商。

根据上述标准,您可以推荐哪种工具?

10 个答案:

答案 0 :(得分:49)

答案 1 :(得分:39)

FindBugs,PMD和Checkstyle都是很好的选择,特别是如果你将它们集成到你的构建过程中。

在我上一家公司,我们还使用Fortify来检查潜在的安全问题。我们很幸运拥有企业许可证,因此我不知道所涉及的费用。

答案 2 :(得分:13)

我推荐FindBugs。 http://findbugs.sourceforge.net/善于协助进行代码审核。

答案 3 :(得分:11)

JetBrains的IntelliJ IDEA。他们还在.Net社区中做ReSharper。

答案 4 :(得分:8)

以下是我的免费/开源静态分析工具列表(45项):Java Code Quality Tools - Overview

答案 5 :(得分:7)

Sonar是一种质量控制工具。它通过遵守编码规则约定,度量标准和高级指标来衡量Java应用程序的质量。

Sonar基于以下项目:

您还可以使用Simian进行复制检测。

答案 6 :(得分:1)

CRAP4J不仅是一个很棒的名字,而且非常有用。其他好的都在上面,最好的(恕我直言)是FindBugs,因为它确实在一个大的代码库中立即找到了诚实的好处错误。

答案 7 :(得分:1)

您可以尝试JavaDepend,它补充其他静态分析工具,并提供CQL语言来查询代码,如数据库,

JavaDepend还提供了许多交互式视图,以便了解现有的代码库和超过82个指标。

答案 8 :(得分:0)

以上所有都是很棒的工具。 PMD可能是最常见的。

另一个工具是Enerjy。它最近变得免费,所以你可以下载它并自己尝试。 Enerjy更有条理,更适合大型团队。它使定制和共享规则变得更容易。就个人而言,我不是一个大粉丝,但也许你会比我更喜欢它。

答案 9 :(得分:0)

一些拥有Java产品的商业供应商:

Klocwork Coverity

他们不会“解决他们发现的问题”(我相信也不会解决上面提到的任何其他问题),但这些都是具有不同优势的工具。