web-dev-qa-db-ja.com

Java用の静的分析ツールの推奨事項

Javaの世界に漠然と精通しているので、見つかった問題を修正するのに十分なインテリジェントな静的解析ツールを探していました。CodeProツールで走りましたが、私は新しいですJavaコミュニティであり、ベンダーを知らない。

上記の基準に基づいて、どのツールを推奨できますか?

56
sergeb

FindBugs、PMD、およびCheckstyleはすべて、特にビルドプロセスに統合する場合に優れた選択肢です。

私の最後の会社では、潜在的なセキュリティ問題をチェックするために Fortify も使用しました。エンタープライズライセンスを所有しているのは幸運だったので、コストがわからない。

39
Brian Matthews
49
Eduard Wirch

FindBugsをお勧めします。 http://findbugs.sourceforge.net/ コードレビューの支援に役立ちます。

13
zxcv

IntelliJ IDEA JetBrainsから。また、.NetコミュニティでReSharperを行っています。

11
SaaS Developer

以下は、無料/オープンソースの静的分析ツールの私のリスト(45項目)です。 Javaコード品質ツール-概要

8
Orest Ivasiv

Sonar は品質管理ツールです。コーディングルールの規則、メトリックメジャー、および高度なインジケータを遵守することにより、Javaアプリケーションの品質を評価します。

ソナーは、次のプロジェクトに基づいています:

Simian を使用して重複を検出することもできます。

7
Julien Hoarau

CRAP4J は素晴らしい名前であるだけでなく、非常に便利です。他の優れたものはすべて上記のとおりです。何よりも(IMHO)はFindBugsです。なぜなら、大きなコードベースですぐに善良なバグを見つけることができるからです。

1
Epaga

JavaDepend を試すことができ、他の静的分析ツールを補完し、データベースなどのコードを照会するためのCQL言語を提供します。

JavaDependは、既存のコードベースと82を超えるメトリックを理解するための多くの対話型ビューも提供します。

上記はすべて素晴らしいツールです。 PMDはおそらく最も一般的です。

別のツールは Enerjy です。最近無料になったので、ダウンロードして自分で試してみることができます。 Enerjyはやや組織化されており、大規模なチームにより適しています。これにより、ルールのカスタマイズと共有が容易になります。個人的には、私は大ファンではありませんが、多分あなたは私よりもそれを空想するでしょう。

0
zvikico

Javaオファリングを持っているいくつかの商用ベンダー:

Klocworkカバー率

彼らは見つけた「問題を解決する」ことはしませんが(上記の他のいずれもそうではないと思います)、これらはすべて長所が異なるツールです。

0
Andy