質問

Linuxが利用できる静的コード分析ツールについて比較した人はいますか?次のツールの長所と短所は何ですか:

  • リンティアン、
  • まばらな、
  • スプリント、
  • ネズミ、
  • -wallオプションを使用します。

これらのツールの1つだけを使用することは適切であると思いますか?

私は推奨事項を探していません(私はそれらをたくさん見つけることができます)が、利用可能なツール間の直接的な比較です。

役に立ちましたか?

解決

もちろんあります ウィキペディアリスト. 。そのリストはまさにそれであり、リストであり、比較ではなく、 リンク ページでは、少なくとも部分的にあなたの質問に答えているようで、(非常に簡単に)あなたがリストしたプログラムのいくつかについて言及しています。

他のヒント

-Wallを使用することは、当然のことながら、すべてのC開発者にとって問題である必要があります。また、さらに-wextraを使用することは良い考えかもしれません。

スプリントはアプリケーションの他の潜在的な弱点を見つけることができますが、ほとんどの場合(!)誤った警告を印刷するので、スプリントが何を意味するのかを本当に理解する必要があります。アウト/ また /未使用/あなたのコードでは、スプリントがあなたに怒鳴らないようにします。 Sprintを使用すると、あなたにとって重要ではない警告を除外する必要があります。そうしないと、多くのメッセージの分析とスクロールに時間がかかりすぎます。

これらのツールは静的コードチェックのみを実行することに注意してください。 Valgrindを使用して、ランタイムメモリリークを見つける必要があります。

私はスプリントを数回使用しましたが、あまりにも冗長でした。ほとんどの警告を無効にしました。コードを正しく注釈すると、このツールが興味深い結果を提供する可能性があると思います。コードアノテーションがなければ、このツールはあまり役に立ちません。

私は時々スパースを使用して、それを貴重なツールと見なします。 「CGCC」と呼ばれるGCCの周りのラッパーを提供します。その結果、多くのソースファイルが含まれていても、プログラムでスパースを実行するのは簡単です(export CC=cgcc とボイラ)。このプログラムは、カーネルソースコードを分析する場合に最適に機能します。

サイドノートとして、私は定期的にPMCCABEも使用しています。 PMCCABEは静的分析器ではありません。環状複雑さを計算します。プログラムで最も複雑な機能を見つけるのに役立ちます。これらの機能は、エラーが発生しやすく、テストが難しい可能性があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top