Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Analyse statique de code


Sujet :

C++

  1. #1
    Inactif  
    Analyse statique de code
    L'analyse statique de code permet d'améliorer la qualité d'un code et de minimiser les risques d'apparition d'erreurs. Dans cet article, John Carmack, le célèbre développeur de Doom et Quake, compare différents outils d'analyse statique de code et plus généralement ce qui fait la qualité du code.

    Analyse statique de code

    Quelle importance accordez-vous à l'analyse statique de code ?
    Quels autres outils, en particulier libres, utilisez-vous ?


    Retrouver l'ensemble des articles de John Carmack sur la page d'index.

  2. #2
    Membre du Club
    Cet article commence à bien dater (presque un an) Néanmoins, c'est une très bonne chose qu'il soit traduit, car c'est un point d'autant plus important que l'on travaille sur de gros projets où le test exhaustif devient une tache gigantesque.

  3. #3
    Rédacteur/Modérateur

    Où je suis actuellement nous utilisons Coverity, et c'est assez hallucinant ce qu'il est capable de remarquer

    J'ai tenté le /analyze chez moi par curiosité, et c'est typiquement ce qui est dit dans l'article : ça fait peur, ça prend du temps, mais une fois la base clean y'a plus qu'à continuer dans cette voie
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  4. #4
    Membre éprouvé
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    cl : Ligne de commande warning D9040: option '/analyze' ignorée*; les avertissements liés à l'analyse du code ne sont pas disponibles dans cette édition du compilateur


    dommage j'aurais bien voulu voir ce que ça donne
    Si vous ne savez toujours pas ce qu’est la récursivité, relisez cette phrase.

    Mon blog sur la programmation et l'informatique !

  5. #5
    Membre émérite
    Pour info la bonne nouvelle c'est que Microsoft est subitement devenu raisonnable, car avec VS2012 /analyze est maintenant disponible pour toutes les éditions (y compris la gratuite VS express) !!

  6. #6
    Membre expert
    J'utilise VS2012 depuis quelques temps, ainsi que PVS Studio.
    PVS donne pas mal d'infos, VS donne moins.

    Par contre je suis toujours surpris du peu de problemes qu'on a quand on s'en tiens strictementn au C++ moderne.

    A utiliser très régulièrement pour que ce soit efficace.

  7. #7
    Membre habitué
    Merci pour l'article
    J'ai adoré ça lecture et surtout le "Big Ball of Mud".

  8. #8
    Expert éminent sénior
    Salut,
    Citation Envoyé par Klaim Voir le message
    J'utilise VS2012 depuis quelques temps, ainsi que PVS Studio.
    PVS donne pas mal d'infos, VS donne moins.

    Par contre je suis toujours surpris du peu de problemes qu'on a quand on s'en tiens strictementn au C++ moderne.
    Je crois que c'est relativement normal: L'analyse statique de code a pour objectif de s'assurer que l'on respecte certains "canon" de programmation, et ces "canons" sont finalement tous issus... d'une utilisation moderne du C++
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  9. #9
    Expert éminent sénior
    Citation Envoyé par Bousk Voir le message
    Où je suis actuellement nous utilisons Coverity, et c'est assez hallucinant ce qu'il est capable de remarquer

    J'ai tenté le /analyze chez moi par curiosité, et c'est typiquement ce qui est dit dans l'article : ça fait peur, ça prend du temps, mais une fois la base clean y'a plus qu'à continuer dans cette voie
    salut est-ce que c'est un outil payant ?
    Et par curiosité comment agit-il en C++ ? En liant des bibliothèques de contrôle d'intégrité de code comme jadis Boundschecker ou bien est ce que c'est une pure analyse de code source ?
    La théorie, c'est quand on sait tout et que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
    ( A Einstein)

###raw>template_hook.ano_emploi###