2009-10-16 10 views
1

Je me demandais si quelqu'un avait des idées ou des procédures pour générer des statistiques générales sur votre code source.Analyser et générer des statistiques sur votre code

Je voudrais savoir combien de fonctions dans le code de mon projet sont appelées une fois ou très peu de fois ou des classes qui ne sont instanciées qu'une seule fois.

Je suis sûr qu'il y a une tonne d'autres choses intéressantes à découvrir.

Je pourrais faire quelque chose comme ce qui précède en utilisant la magie grep mais est-ce que quelqu'un a trouvé des outils ou des astuces?

+1

Les outils ne sont généralement pas agnostiques. –

+0

Surtout des outils comme celui-ci qui comptent les constructions de langage. –

+0

Je n'ai jamais mentionné une langue spécifique. Toute contribution de n'importe quelle langue est appréciée. – Shane

Répondre

0

Coverity est la première chose qui vient à l'esprit. Il offre actuellement (sur un de leurs products)

  • système d'analyse ADN logiciel Map ™: Génère une représentation complète de l'ensemble du système de construction, y compris une analyse sémantiquement correcte de chaque ligne de code.
  • Gestionnaire de défauts: l'interface intuitive facilite l'établissement de la propriété des défauts et leur résolution via un flux de travail personnalisé qui reflète votre processus de développement existant. Analyse locale: Permet d'analyser le code localement sur les bureaux des développeurs pour garantir la qualité avant de partager avec d'autres développeurs.
  • Satisfaction booléenne: traduit le code en questions basées sur des valeurs booléennes, puis applique les solveurs SAT pour la détection de défauts la plus précise et le taux de faux positifs le plus faible disponible. Seul Prevent offre la précision supplémentaire de cette méthode propriétaire.
  • Vérificateur de conditions de course: présente un premier vérificateur de conditions de course spécialement conçu pour les applications multithreads complexes d'aujourd'hui. Simulation de chemin: Simule 100% de toutes les valeurs et chemins de données, permettant la détection des défauts les plus critiques.
  • Statistiques & Analyse interprocédurale: Assure une analyse complète de l'ensemble de votre système de construction en déduisant un comportement correct basé sur le comportement précédemment observé et en effectuant une analyse de programme complet similaire à l'exécution Bin. False Path Pruning: élimine efficacement les faux positifs pour prévenir un taux moyen de FP d'environ 15%, certains utilisateurs signalant des taux de FP aussi faibles que 5%.
  • Analyse incrémentale: analyse le code source de manière complète ou incrémentielle, ce qui vous permet de gagner du temps en ne vérifiant que les composants affectés par une modification. Reporting: mesure les tendances de la qualité logicielle au fil du temps grâce à des rapports personnalisables. Vous pouvez ainsi afficher les défauts regroupés par informations sur le vérificateur, la classification, les composants et autres défauts.
0

Il y a beaucoup d'outils qui font cela. Mais aucun d'eux n'est indépendant de la langue (ce qui serait à son tour impossible, par exemple, certaines langues pourraient même ne pas avoir de fonctions).

Généralement, vous trouverez ces outils dans les catégories «outils de couverture de code» ou «profileurs».

Pour .Net, vous pouvez utiliser Visual Studio ou Clrprofiler.

Questions connexes