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

问题描述:

对于Java世界我有点模糊不清,我一直在寻找一个静态分析工具,它也具有足够的智能来解决它​​发现的问题。我在CodePro工具上运行,但是,我又是新来的Java社区,不知道供应商。针对Java的静态分析工具推荐?

根据上述标准,您可以推荐什么工具?

+0

您还可以查看[qulice.com](http://www.qulice.com),它将Checkstyle,PMD,FindBugs集成在一起,并将它们预先配置为 – yegor256 2012-09-17 15:14:54

+0

http://softwarerecs.stackexchange。 com将成为你的朋友。 – peterh 2015-09-11 14:06:33

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

在我上次的公司,我们也用Fortify来检查潜在的安全问题。我们很幸运拥有企业许可证,所以我不知道所涉及的成本。

我推荐FindBugs。 http://findbugs.sourceforge.net/擅长协助做代码审查。

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

+0

请问您对使用lint4j有什么评论?我只是试了一下,但它在我的整个代码库中只产生一个警告(误报!)。我知道我的代码不是那么干净!我的代码需要Java 6和lint4j proj。似乎不活跃。 lint4j不是源码,所以没有源代码。谢谢! – 2008-09-23 02:50:46

Sonar是一个质量控制工具。它通过遵守编码规则惯例,度量指标和高级指标来评估Java应用程序的质量。

声纳是基于以下项目:

您也可以使用Simian进行重复检测。

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

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

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

有一个Java提供商业厂商的夫妇:

Klocwork Coverity

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

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

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

JavaDepend还提供了许多交互式视图来理解现有的代码库和82个度量标准。