• [^] # Re: Je comprend pas...

    Posté par . En réponse au journal Bayes appliqué au code ?. Évalué à 5.

    " En calulabilité, la fonction HALT est l'équivalent du mouvement perpétuel pour un mécanicien."

    Petite précision pour ceux qui ont pas tout compris, la fonction HALT serait une fonction à laquelle on fournit un programme et elle on aurait le résultat "vrai" si le programme se termine, et "faux" si le programme ne se termine jamais... C'est en effet impossible à faire... (et ça se démontre) mais:

    Une approcha bayesienne est originale par le fait qu'elle se base sur des probabilités et non pas des certitudes... dans le même ordre d'idée, bien que HALT soit impossible pour tout les programmes, il est possible de le faire pour certains programmes, c'est ce qui arrive parfois d'ailleurs, le compilo nous crache un beau warning signalant que tel partie ne sera jamais exécuté parce que la boucle est infinie...

    Cependant, je ne pense pas que l'idée puisse mener à grand chose, perso je vois 2 trucs:
    - détecter des patterns (par exemple l'emploi d'une fonction sprintf qui est souvent source de trou de sécurité par buffer overflow). Ca se fait depuis longtemps, ça donne une appréciation du code... dans certaines boites c'est même spécifié et tester de façon formelle, via un ensembel de règle.
    - Appliquer la méthode bayesienne à un code source n'est pas un problème, tout comme pour le spam, c'est une façon de classer des données en deux ensembles (spam ou non, ou "bon programme", "mauvais programme")... le vrai problème c'est de traiter les données en entrée pour avoir un "bon format"... et dans le cas d'un code source, beaucoup (trop) de chose dépendent du programme (nom de variable, etc...).

    En bref le vrai problème est celui des patterns: comment les définir, lesquelle choisir, etc... peut-être l'auteur de la news y a déjà réfléchi?