Je connais quelques outils d'analyse statique gratuits disponibles pour Java, tels que FindBugs et PMD. Ce que j'aimerais savoir, c'est comment les produits commerciaux tels que Klocwork et Coverity se comparent à ceux-ci. Quelles sont leurs forces et leurs faiblesses?
Réponses
Trop de publicités?Je vous suggère d'essayer SONAR, un outil de gestion de la qualité logicielle open source, dédié à l'analyse et à la mesure en continu de la qualité du code source. Ce logiciel récupère les résultats de l'outil d'analyse de code, les consolide et vous donne accès à une interface conviviale.
Cette fonction vous sera très certainement trouver dans un commercial outil d'analyse statique (et que vous ne trouverez pas facilement un freeware outil d'analyse) est
Reporting: Mesures de la qualité des logiciels des tendances au fil du temps
Comme expliqué dans cette question sur les métriques de code, toute l'analyse statique de code en lui-même dans pas toujours pertinente, parce que vous pourriez avoir:
- de trop nombreux "défauts" pour corriger
- de trop nombreuses catégories de défaut signalé
Vous avez besoin de la capacité à faire certains de triage, et vous avez besoin de vérifier si un défaut se produit de moins en moins au fil du temps ou non, afin de vous aider à hiérarchiser ce qu'il faut corriger.
Cela est particulièrement vrai sur le projet de l'héritage avec des milliers de classes: vous ne corrigez pas de défaut sur de nombreux fichiers juste comme ça, sans avoir une bonne raison. Que la raison peut en être déduit une bonne production de rapports et l'analyse des tendances que vous ne trouverez pas avec le freeware outils.
voici une liste de commerciale les outils d'analyse : http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#Java_2
coverity dispose de plusieurs outils :
http://www.coverity.com/html/coverity-readiness-manager-java.html : ce devrait être sur pied d'égalité avec findbugs et de la DGM, mais avec une meilleure présentation
prévenir : http://www.coverity.com/html/prevent-for-java.html : peu de FAUX POSITIFS.
fil de l'analyseur : http://www.coverity.com/html/coverity-thread-analyzer-java.html : c'est ce qui est absente dans la plupart des outils open source.