• [^] # Re: I had a dream...

    Posté par (Mastodon) . En réponse au journal Comment résoudre la "crise du logiciel" ?. Évalué à 5.

    Ton idee n'est applicable qu'a des programmes qui traitent des donnees limitees, sans quoi il peut devenir tres compliquer de les valider, ou meme de tomber aleatoirement sur un cas d'erreur si 99% des entrees possibles sont valides. La seules solution pour s'assurer que le code est tout le temps valide serait d'essayer toutes les entrees possibles.

    Ce qui pose un probleme: admettons que tu veuilles ecrire un interpreteur pour un langage quelconque. Ton IDE va devoir simuler un utilisateur qui tape un script aleatoirement, mais comment va-t-il faire pour distinguer un comportement valide d'un comportement invalide ?
    Admettons que le script qu'il produit soit conforme a la syntaxe du langage, l'IDE va pouvoir observer les cas suivants:
    1- l'interpreteur execute le script et produit un resultat
    2- l'interpreteur execute le script mais s'arrete sur une erreur
    3- l'interpreteur ne s'arrete pas

    Seul le cas 2 peut-etre traite efficacement: on a trouve une erreur, il faut la resoudre. Dans le cas 1, on ne sait pas si le resultat obtenu est valide, dans le cas 3, on ne sait pas si le fait que l'interpreteur ne s'arrete pas est normal ou non.