IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Qualité Discussion :

Quelle méthode pour auditer un code source ?


Sujet :

Qualité

  1. #1
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 236
    Points : 113
    Points
    113
    Par défaut Quelle méthode pour auditer un code source ?
    Salut à tous,

    Dans le cadre d'une mission de qualité, on m'a demandé d'auditer le code source d'une application.

    Ceci dit, je n'ai jamais fait d'audit de code source.

    Existe-t-il des méthodologies, des bonnes pratiques, des guides sur la façon de mener l'analyse d'un code source ?

    Merci

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    oui

    ne pas penser qu'on peut faire l'audit d'un code sans :

    1. être expert du langage utilisé
    2. connaître et comprendre l'architecture haut niveau
    3. avoir une bonne connaissance du domaine d'application
    4. avoir une bonne connaissance des contraintes demandées au départ
    5. avoir une bonne connaissance des contraintes deandées maintenant
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 383
    Points : 468
    Points
    468
    Par défaut
    Un outils qui peut t'aider c'est PMD sur sourceforge :
    http://pmd.sourceforge.net/

    Il s'intègre à la plupart des IDE.

  4. #4
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 236
    Points : 113
    Points
    113
    Par défaut
    Merci pour l'outil.
    Effectivement il est réputé.

    Ceci dit, n'ayant jamais fait d'audit de code, je chercher une méthodologie, une démarche à suivre avant de me lancer dans le code.

    L'étude séquentielle de toutes les lignes unes à unes ne me paraît pas la bonne solution.

    Les conseils de souviron34 sont intéressants.

    J'ai trouvé OWASP qui propose une méthode d'analyse de code source.

  5. #5
    Membre à l'essai
    Profil pro
    Consultant Agile
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant Agile

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    La premiere question avant de chercher la methodologie ou l'outils, est :
    'Que veux tu auditer' ?
    La qualité du code ?
    La testabilite du code ?
    La securite du code ?
    La scalabilité du code ?
    La maintenabilité du code ?
    La documentation du code ?
    Les outils type PMD/checkstyle/Coverity/phpSniffer/cobertura... te donneront des idees sur des points precis. Apres faut un outils de type dashboard pour avoir une vue globale.
    PMD peut te mettre en avant des pbs de codage ou de non respect de 'regles' de base. Par contre, si ton code est un sac de nouilles (class coupling) sans documentations (javancss) il ne te dira rien. D'ou l'interet de savoir ce qu'on cherche :-)

  6. #6
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 102
    Points : 153
    Points
    153
    Par défaut
    Bonjour,
    je remonte ce topic car je vais peut être devoir faire un audit de code source, notamment sur du C.
    J'aimerais savoir s'il existe des méthodes pour réaliser un audit au mieux.

    mélanger analyse statique + analyse manuelle ?

    si vous connaissez des bouquins, doc, méthodes, je suis preneur.
    En vous remerciant

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 102
    Points : 153
    Points
    153
    Par défaut
    personne ne fait de l'audit de code ?

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    si, si on me paye...




    Et, ce qui rejoint le message de Laurent Tardif, quelle est la raison de l'audit, sur quels points ?
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 102
    Points : 153
    Points
    153
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    si, si on me paye...




    Et, ce qui rejoint le message de Laurent Tardif, quelle est la raison de l'audit, sur quels points ?
    ça serait sur la sécurité du code.

    En fait, si j'ai bien compris ce que j'ai pu avoir comme info, pour réaliser un audit il faut:
    -> se donner un objectif
    -> connaitre ce qu'on veut protéger

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Trankille Voir le message
    -> se donner un objectif
    Très certainement ..



    Citation Envoyé par Trankille Voir le message
    -> connaitre ce qu'on veut protéger


    Pourquoi "protéger" ??

    On peut vouloir faire un audit pour des raisons de performance, de changement de langage, de rapport de bug, d'inclusion dans un autre logiciel, de récupération à l'intérieur d'un logiciel, de documentation, etc etc...

    Il y a 200 000 raisons de faire un audit...



    Mais surtout, ce que tu oublies et qui est essentiel :

    il faut connaître le langage et ses subtilités, et si possible le cadre dans lequel/pour lequel il a été fait..

    Bref, avec tes questions, tu ne me sembles pas très adapté à faire cet audit de façon sérieuse...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  11. #11
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 102
    Points : 153
    Points
    153
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    Très certainement ..







    Pourquoi "protéger" ??

    On peut vouloir faire un audit pour des raisons de performance, de changement de langage, de rapport de bug, d'inclusion dans un autre logiciel, de récupération à l'intérieur d'un logiciel, de documentation, etc etc...

    Il y a 200 000 raisons de faire un audit...



    Mais surtout, ce que tu oublies et qui est essentiel :

    il faut connaître le langage et ses subtilités, et si possible le cadre dans lequel/pour lequel il a été fait..

    Bref, avec tes questions, tu ne me sembles pas très adapté à faire cet audit de façon sérieuse...


    cassé

    Question plus "concrète":
    Quand tu fais un audit de code: tu commences par quoi ? utiliser des outils puis regarder le code ? TOUT le code ?

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Encore une fois ça dépend du pourquoi de l'audit...

    En ce qui concerne la sécurité, on fera très certainement une analyse approfondie :

    • des saisies (si il y en a)
    • des allocations mémores (et de leurs longueurs), en fonction des paramètres d'entrée et/ou de sortie


    Mais même le terme "sécurité" est vague...

    Sécurité dans quel sens :

    • souplesse vis-à-vis d'entrées de tailles variables ?
    • sécurité au sens "failles" internet ?
    • sécurté au sens robustesse ?
    • sécurité au sens algorithmique ?
    • sécurtié par rapport aux jeux de données ?
    • sécurité au sens erreurs d'allocations mémoire ?
    • ...



    Et comme dt plus haut, il n'y a pas de "généralités", ça dépend du but de l'audit et de comment le code est structuré..

    Ca peut être une petite partie du source, ou tout le source..

    Quant aux outils, encore une fois ça dépend du type d'audit.. et de la documentation à disposition..




    PS: comme l'indique ma signature, je peux faire de l'audit en sous-traitance
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

Discussions similaires

  1. Réponses: 16
    Dernier message: 09/10/2006, 18h25
  2. Recherche un logiciel pour cartographier le code source java d'un projet
    Par L4BiN dans le forum EDI et Outils pour Java
    Réponses: 3
    Dernier message: 12/09/2006, 15h37
  3. [Recherche]une API pour colorer le code source
    Par kedare dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 31/07/2006, 08h48
  4. [C#] Quelle méthode pour imprimer un form?
    Par Bapt.ice dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/07/2006, 19h49
  5. [C#] Quelle méthode pour savoir l'état d'un fichier ?
    Par freesly dans le forum Windows Forms
    Réponses: 15
    Dernier message: 25/04/2006, 14h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo