28 votes

Quels outils utilisez-vous pour l'analyse de code statique ?

Cette question sur la Complexité Cyclomatique m'a fait penser plus à propos de l'analyse statique de code. L'analyse de la complexité du code et la cohérence est parfois utile, et j'aimerais commencer à faire plus. Quels sont les outils que vous recommander (par langue) pour une telle analyse? Wikipedia a une grande liste d'outils, mais ceux qui ont les gens ont essayé avant?

Edit: Comme David le souligne, ce n'est pas un non sollicité question quand il s'agit de C/UNIX outils.

22voto

Steve HHH Points 3088

J'ai été la mise en place d'une intégration continue Hudson (CI) système de construction pour ma Objective-C iPhone des projets (applications iOS), et ont compilé une liste variée d'outils qui peuvent être utilisés pour analyser mes projets lors d'une compilation:

  • Clang analyseur statique: gratuit, up-to-date de l'outil autonome qui attire plus de questions que la version de Clang fourni avec Xcode 4. Projet actif. -- visite http://clang-analyzer.llvm.org

  • Doxygen: gratuit outil de génération de documentation qui génère également de la classe de dépendance des diagrammes. Projet actif -- visite http://www.stack.nl/~dimitri/doxygen

  • HFCCA (en-tête sans complexité cyclomatique de l'analyseur): gratuit script Python pour calculer la complexité du code, mais sans en-tête des fichiers et des pré-processeurs. Prend en charge la sortie au format XML pour Hudson/Jenkins construit. Projet actif. -- visite http://code.google.com/p/headerfile-free-cyclomatic-complexity-analyzer

  • CLOC (nombre de lignes de code): outil gratuit pour compter les fichiers, lignes de code, les commentaires et les lignes vierges. Prend en charge de comparaison, de sorte que vous pouvez voir les différences entre versions. Projet actif. -- visite http://cloc.sourceforge.net

  • SLOCcount (lignes de code source comte): un outil gratuit pour compter les lignes de code et d'estimer les coûts et le temps associés à un projet. Ne semble pas être actif. -- visite http://sourceforge.net/projects/sloccount et http://www.dwheeler.com/sloccount

  • AnalysisTool: gratuit outil d'analyse de code que les mesures de la complexité du code et génère des diagrammes de dépendance. N'est pas actif. Ne semble pas fonctionner avec Xcode 4, mais j'aimerais le faire fonctionner. -- visite http://www.karppinen.fi/analysistool

6voto

Chris Hanson Points 34485

Pour C et Objective-C, vous pouvez également utiliser le LLVM/Clang Static Analyzer.

C'est Open Source et en cours de développement actif.

5voto

BZ. Points 188

Pour .Net nous utilisons NDepend. C'est un excellent outil et peut être intégré à la construction (nous utilisons CCNet).

http://www.ndepend.com/

Hth.

2voto

TimK Points 1881

J'utilise le plugin PMD pour Eclipse beaucoup. C'est assez agréable, et très configurable. CheckStyle est également bon, si vous êtes à la recherche de plus d'un exécutant de style.

2voto

Bill the Lizard Points 147311

Checkstyle, Findbugs, et PMD fonctionnent tous assez bien à Java. Je suis actuellement assez heureux avec PMD en cours d'exécution dans NetBeans. Il a une interface graphique assez simple pour gérer quelles règles vous voulez exécuter. Il est également très facile d'exécuter le contrôleur sur un fichier, un paquet entier, ou un projet entier.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X