Il existe nombre d'outils d'audit de code dans l'univers du développement Java qui sont autant d'armes contre les faux-pas de développement. FindBugs (qui porte bien son nom...) propose de parcourir les applications java à la recherche de motifs à problèmes.
L'outil développé par l'Université du Maryland appartient à la famille des analyseurs statiques comme PMD ou CheckStyle. Il ne cherche pas à observer l'application en action mais plutôt à se plonger dans son code. Cependant FindBugs se différencie au sein de cette famille par le fait que son analyse est effectuée sur le bytecode plutôt que sur le code source.
Findbugs détecte une liste de bugs connus, sans cesse remise à jour, qui va de la simple comparaison de chaînes de caractères avec l'opérateur "=" jusqu'à des bugs en environnement multi-threads plus complexes. Si la liste complète des problèmes recherchés ne donne pas satisfaction, FindBugs offre la possibilité de créer des plugins pour l'augmenter. Le plugin fb-contrib permet en particulier l'identification de nombreux cas qui n'ont pas encore trouvé le chemin de la liste officielle.
L'Université du Maryland propose son outil sous diverses formes qui vont de l'application standalone jusqu'au JNLP en-ligne en passant par le plugin Eclipse (via l'URL d'installation http://findbugs.cs.umd.edu/eclipse). Les tâches Ant, Maven ou un plugin Sonar permettent quant à eux de l'inclure dans un processus d'intégration continue.
Pour conclure, on peut noter que Google l'utilise lors de ses "FixIt Days". Ce sont des jours dans l'année dédiée à la résolution des TODO, des notes et des vices cachés des programmes que les développeurs de Google écrivent. Cette pratique n'est pas encore très suivie dans toutes les entreprises, mais semble pertinente quand l'on constate la qualité quelques logiciels....
# C++ ?
Posté par FX Pasquier . Évalué à 3.
Je connais PCLint qui est un analyseur syntaxique, mais c'est tout...
[^] # Re: C++ ?
Posté par Guillaume ALAUX (site web personnel) . Évalué à 1.
http://bytes.com/topic/c/answers/464255-findbugs-c-c
[^] # Re: C++ ?
Posté par Corentin Chary (site web personnel) . Évalué à 2.
[^] # Re: C++ ?
Posté par _seb_ . Évalué à 1.
http://sourceforge.net/apps/mediawiki/cppcheck/index.php?tit(...)
Cet outil a permis à plusieurs projets Open Source (y compris le noyau Linux) de corriger d'éventuels problèmes.
Pour le noyau Linux, je crois qu'il y a un outil dédié à cela que les développeurs ignorent souvent.
# plus
Posté par steph1978 . Évalué à 2.
+ l'intégration dans hudson pour voir le détail du rapport, placer ses filtres et suivre le trend de correction (ou de dégradation :/)
quand on a une grosse masse de code à auditer, ça dégrossie bien le terrain.
même si rien ne remplace l'oeil de l'expert... enfin comme on parle de bad smells, je dirais plutôt le nez.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.