Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2023-10-02T17:27:57+02:00Les derniers messages parus sur le forum de Zeste de Savoir.Introduction à la preuve de programmes C avec Frama-C et son greffon WP, message #2523442023-10-02T17:27:57+02:00Ksass`Peuk/@Ksass%60Peukhttps://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=4#p252344<p>Update</p>
<p>Ajouté:</p>
<ul>
<li>explications sur check, admit et variantes pour les lemmes et les invariants de boucles,</li>
<li>expliquer que WP produit plusieurs formules</li>
<li>expliquer comment bien spécifier une boucle</li>
</ul>
<p>Prochains travaux</p>
<ul>
<li>toucher deux mots des variants check et admit pour les contrats de fonctions</li>
<li>attaquer la partie "improving confidence"</li>
</ul>
<p>Pour le suivi</p>
<ul>
<li><a href="https://github.com/AllanBlanchard/tutoriel_wp/issues/39">https://github.com/AllanBlanchard/tutoriel_wp/issues/39</a></li>
<li><a href="https://github.com/AllanBlanchard/tutoriel_wp/tree/next-version">https://github.com/AllanBlanchard/tutoriel_wp/tree/next-version</a></li>
</ul>
<p>Note: le PDF sur la branche n’est pas à jour, il faut générer le PDF à la mano</p>Introduction à la preuve de programmes C avec Frama-C et son greffon WP, message #2508052023-06-10T11:57:22+02:00Ksass`Peuk/@Ksass%60Peukhttps://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=4#p250805<p>Bon, ça a bougé moins vite que je ne l’espérais mais ça a bougé quand même. J’ai été pas mal bloqué par des régressions dans le prouveur Alt-Ergo qui sont fixées depuis mai ce qui m’a permis de mettre à jour les tests et de mieux voir où j’en étais sur les exemples.</p>
<p>J’ai repris la rédaction du contenu. Ce qui est déjà fait pour la prochaine version:</p>
<ul>
<li>des éléments de vocabulaires fixés un peu partout,</li>
<li>des fixs dans les exercices</li>
<li>explications à propos des <code>requires</code> sur la fonction <code>main</code>,</li>
<li>refonte des explications sur les variants et ajout des variants généralisés,</li>
<li>ajout des clauses <code>terminates</code> (assurer qu’une fonction termine en fonction d’une condition),</li>
<li>ajout des clauses <code>decreases</code> (pour les fonctions récursives)</li>
<li>explications sur les <em>clusters</em> d’axiomatiques.</li>
</ul>
<p>En cours et bien avancé:</p>
<ul>
<li>explications sur <code>check</code>, <code>admit</code> et variantes pour les lemmes et les invariants de boucles,</li>
<li>expliquer que WP produit plusieurs formules</li>
</ul>
<p>Prochains travaux:</p>
<ul>
<li>expliquer comment bien spécifier une boucle</li>
<li>toucher deux mots des variants check et admit pour les contrats de fonctions</li>
<li>attaquer la partie "improving confidence".</li>
</ul>
<p>Pour le suivi</p>
<ul>
<li><a href="https://github.com/AllanBlanchard/tutoriel_wp/issues/39">https://github.com/AllanBlanchard/tutoriel_wp/issues/39</a></li>
<li><a href="https://github.com/AllanBlanchard/tutoriel_wp/tree/next-version">https://github.com/AllanBlanchard/tutoriel_wp/tree/next-version</a></li>
</ul>Introduction à la preuve de programmes C avec Frama-C et son greffon WP, message #2437032022-06-19T13:17:42+02:00Ksass`Peuk/@Ksass%60Peukhttps://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=4#p243703<p>Oyez oyez les agrumes !</p>
<p>Je vous annonce avec plaisir la ré-ouverture de la bêta du contenu
« Introduction à la preuve de programmes C avec Frama-C et son greffon WP » !</p>
<p>Dans un premier temps, les changements ne seront pas disponibles sur ZdS, c’est plus simple pour moi pour le suivi de passer directement par le GitHub du projet, d’autant que je commence systématiquement par rédiger la version anglaise du tutoriel (plus facile pour moi de faire une bonne traduction française que l’inverse).</p>
<ul>
<li>PRs pour la version: <a href="https://github.com/AllanBlanchard/tutoriel_wp/pulls?q=milestone%3A%22Frama-C+25%22">https://github.com/AllanBlanchard/tutoriel_wp/pulls?q=milestone%3A%22Frama-C+25%22</a></li>
<li>suivi : <a href="https://github.com/AllanBlanchard/tutoriel_wp/issues/39">https://github.com/AllanBlanchard/tutoriel_wp/issues/39</a></li>
<li>branche : <a href="https://github.com/AllanBlanchard/tutoriel_wp/tree/next-version">https://github.com/AllanBlanchard/tutoriel_wp/tree/next-version</a></li>
</ul>Introduction à la preuve de programmes C avec Frama-C et son greffon WP, message #2257112020-09-07T19:22:25+02:00Ksass`Peuk/@Ksass%60Peukhttps://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=4#p225711<p>Bonjour,</p>
<p>La bêta du contenu « Introduction à la preuve de programmes C avec Frama-C et son greffon WP » a été désactivée.</p>Introduction à la preuve de programmes C avec Frama-C et son greffon WP, message #2229012020-06-25T13:34:44+02:00Ksass`Peuk/@Ksass%60Peukhttps://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=4#p222901<p>Bonjour les agrumes !</p>
<p>La bêta a été mise à jour et décante sa pulpe
à l’adresse suivante :</p>
<div class="align-center"><p> <a href="https://zestedesavoir.com/contenus/beta/885/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/">Introduction à la preuve de programmes C avec Frama-C et son greffon WP</a> </p></div>
<p>Merci d’avance pour vos commentaires.</p>Introduction à la preuve de programmes C avec Frama-C et son greffon WP, message #2226792020-06-19T13:48:06+02:00Ksass`Peuk/@Ksass%60Peukhttps://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p222679<p>Bonjour les agrumes !</p>
<p>La bêta a été mise à jour et décante sa pulpe
à l’adresse suivante :</p>
<div class="align-center"><p> <a href="https://zestedesavoir.com/contenus/beta/885/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/">Introduction à la preuve de programmes C avec Frama-C et son greffon WP</a> </p></div>
<p>Merci d’avance pour vos commentaires.</p>
<p>J’ai incorporé vos suggestions Aabu et Karnaj, merci beaucoup à vous deux. J’ai aussi fait une passe de relecture sur le diff complet.</p>
<p>Pour cette version :</p>
<ul>
<li>General<ul>
<li>Vérifier exemples et screens pour Frama-C 21</li>
<li>Spellcheck du diff</li>
<li><code>-wp-rte</code> presque partout (sauf au tout début)</li>
</ul></li>
<li>I<ul>
<li>Typos <a href="https://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p222604">#p222604</a></li>
</ul></li>
<li>II<ul>
<li>Smoke tests<ul>
<li>formulation française <a href="https://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p222516">#p222516</a></li>
</ul></li>
<li>Exercices plus intéressants pour les comportements<ul>
<li>Fusionne les exercices 1 à 4 en un seul</li>
<li>Ajoute un exercice avec deux fonctions très simples</li>
<li>Ajoute un exercice avec deux fonctions à peine plus complexes à propos des triangles</li>
</ul></li>
<li>Deux nouveaux exercices<ul>
<li>Utilise la solution sur les triangle pour remplir une structure</li>
<li>Rendu de monnaie</li>
</ul></li>
</ul></li>
<li>IV<ul>
<li>Supprime un paragraphe trop dépendant des versions des prouveurs</li>
<li>Modification de deux exercices pour que Alt-Ergo 2.3.2 en chie plus</li>
</ul></li>
<li>V<ul>
<li>Fix sur des expressions mathématiques (thx <strong><a href="/membres/voir/Karnaj/" rel="nofollow" class="ping ping-link">@<span class="ping-username">Karnaj</span></a></strong>)</li>
<li>Mise à jour de la section sur les ghost pour Frama-C 21</li>
<li>Exercices pour les nouvelles notions ghost</li>
<li>La bonne formation des inductifs est vérifiée avec Why3</li>
</ul></li>
<li>VI<ul>
<li>Met à jour les éléments ghost pour Frama-C 21</li>
</ul></li>
</ul>
<p>PS: La version TeX est aussi disponible via GitHub sur <a href="https://github.com/AllanBlanchard/tutoriel_wp/tree/next-version">la branche next-version</a> du bouquin. Si vous voulez faire des retours sur la version anglaise, ne vous privez pas non plus <img src="/static/smileys/svg/smile.svg" alt=":)" class="smiley"></p>Introduction à la preuve de programmes C avec Frama-C et son greffon WP, message #2226092020-06-18T14:24:27+02:00Ksass`Peuk/@Ksass%60Peukhttps://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p222609<figure><blockquote>
<p>Plutôt renvoyer l’indice de la plus petite valeur, non ?</p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p222604">Karnaj</a></figcaption></figure>
<p>Oui je le sous-entend un peu. J’hésite à le rajouter, ça va alourdir la lecture de l’exemple :thinking: . D’un autre côté c’est un comble d’avoir une imprécision dans un paragraphe qui parle de précision.</p>
<p>EDIT : bon allez, c’est corrigé.</p>
<p>Le reste c’est corrigé aussi, sauf :</p>
<blockquote>
<p>« ici : <a href="http://frama-c.com/download.html">http://frama-c.com/download.html</a> (Source distribution). » problème de mise en forme du lien ?</p>
</blockquote>
<p>Parce qu’il y pas de problème c’est voulu.</p>
<p>Merci !</p>Introduction à la preuve de programmes C avec Frama-C et son greffon WP, message #2226042020-06-18T12:41:32+02:00Karnaj/@Karnajhttps://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p222604<p>Dans l’introduction, ce serait pas « générer à partir de programme<strong>s</strong> C des exécutables très performants ».</p>
<h3 id="la-preuve-de-programmes-et-notre-outil-pour-ce-tutoriel-frama-c">La preuve de programmes et notre outil pour ce tutoriel : Frama-C<a aria-hidden="true" href="#la-preuve-de-programmes-et-notre-outil-pour-ce-tutoriel-frama-c"><span class="icon icon-link"></span></a></h3>
<ul>
<li>« Le test de programme <strong>peut être</strong> utilisé ».</li>
<li>« Et il s’avère généralement que, bien qu’assez vraie, cette phrase <strong><del>soit</del> est</strong> assez mal comprise.</li>
<li>au premier point des trois catégories de code, il manque l’espace avant le point-virgule final, « pendant une recherche de minimum) ; »</li>
</ul>
<blockquote>
<p>par exemple, nous avons défini que le programme doit trouver la plus petite valeur d’un tableau, mais nous n’avons pas spécifié que s’il y en a plusieurs, il faut prendre la première, parce que cela me semblait trop évident, mais du coup ce n’est pas ce que fait le programme</p>
</blockquote>
<p>Plutôt renvoyer l’indice de la plus petite valeur, non ?</p>
<ul>
<li>« à la spécification de notre langage<strong><del>,</del> ;</strong></li>
<li>« on parle de « sati<strong>s</strong>fiabilité »</li>
<li>dans le bloc attention de la sous-section Installation, des points-virgules à la place des virgules en fin d’éléments de liste.</li>
<li>« il faut également que quelques paquets de votre distribution soi*<em>en</em>t présents »</li>
<li>« ici : <a href="http://frama-c.com/download.html">http://frama-c.com/download.html</a> (Source distribution). » problème de mise en forme du lien ?</li>
</ul>Introduction à la preuve de programmes C avec Frama-C et son greffon WP, message #2225362020-06-17T12:59:47+02:00Ksass`Peuk/@Ksass%60Peukhttps://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p222536<figure><blockquote>
<p>J’ai une suggestion rapide pour la traduction de « smoke test ». C’est pas évident à traduire, mais je pense que « déverminage » peut être une bonne alternative. Quand ces tests passent, on ne peut pas être sûr à 100% que ça fonctionne, mais on a une certaine assurance qu’il n’y a pas de défaut flagrant sur le produit testé.</p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p222516">Aabu</a></figcaption></figure>
<p>Je me suis penché un peu sur ce qui existe. J’ai l’impression que le terme le plus utilisé même en France est surtout le terme anglais. J’aimais bien aussi l’expression anglaise "sanity-check". Mais sinon, il y a "test préliminaires" qui revient pas mal.</p>
<p>Déverminage si j’ai bien compris c’est plutôt du stress test de démarrage, en anglais il semble que ce soit plutôt associé à "Burn-in" qui est sensiblement différent de "smoke testing" qui semble plutôt associé à la notion de tests préliminaires, je crois que je vais partir là dessus. Surtout qu’on parle de la spécification et pas du code.</p>Introduction à la preuve de programmes C avec Frama-C et son greffon WP, message #2225162020-06-16T22:38:40+02:00Aabu/@Aabuhttps://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p222516<p>Salut, </p>
<p>Je suis content de voir que tu as trouvé des exercices plus intéressants. <img src="/static/smileys/svg/smile.svg" alt=":)" class="smiley"></p>
<p>J’ai survolé rapidement, et c’est sympa de voir les progrès des dernières versions !</p>
<p>J’ai une suggestion rapide pour la traduction de « smoke test ». C’est pas évident à traduire, mais je pense que « déverminage » peut être une bonne alternative. Quand ces tests passent, on ne peut pas être sûr à 100% que ça fonctionne, mais on a une certaine assurance qu’il n’y a pas de défaut flagrant sur le produit testé.</p>Introduction à la preuve de programmes C avec Frama-C et son greffon WP, message #2225012020-06-16T19:32:54+02:00Ksass`Peuk/@Ksass%60Peukhttps://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p222501<p>Oyez oyez les agrumes !</p>
<p>Je vous annonce avec plaisir la ré-ouverture de la bêta du contenu
« Introduction à la preuve de programmes C avec Frama-C et son greffon WP » ! Je vous souhaite une agréable lecture à l’adresse
suivante :</p>
<div class="align-center"><p> <a href="https://zestedesavoir.com/contenus/beta/885/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/">Je suis de retour !</a> </p></div>
<p>Pour cette version :</p>
<p>See: <a href="https://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p222679">#p222679</a></p>Introduction à la preuve de programmes C avec Frama-C et son greffon WP, message #2206492020-05-13T09:10:45+02:00Ksass`Peuk/@Ksass%60Peukhttps://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p220649<p>Bonjour,</p>
<p>La bêta du contenu « Introduction à la preuve de programmes C avec Frama-C et son greffon WP » a été désactivée.</p>Introduction à la preuve de programmes C avec Frama-C et son greffon WP, message #2206482020-05-13T09:10:30+02:00Ksass`Peuk/@Ksass%60Peukhttps://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p220648<p>Ah je ne savais pas ça. Je vais la désactiver pour l’instant, même s’il n’est pas exclus que je la réactive bientôt si j’arrive à avancer suffisamment vite.</p>Introduction à la preuve de programmes C avec Frama-C et son greffon WP, message #2206302020-05-12T22:19:14+02:00artragis/@artragishttps://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p220630<p>Maintenant que le tuto est publié, as-tu encore besoin de la béta? La désactiver permet d’alléger la page <a href="https://zestedesavoir.com/contenus/aides/">de recherche d’aide</a>.</p>Introduction à la preuve de programmes C avec Frama-C et son greffon WP, message #2122732019-12-19T18:19:17+01:00Ksass`Peuk/@Ksass%60Peukhttps://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p212273<p>Bonjour les agrumes !</p>
<p>La bêta a été mise à jour et décante sa pulpe
à l’adresse suivante :</p>
<div class="align-center"><p> <a href="https://zestedesavoir.com/contenus/beta/885/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/">Introduction à la preuve de programmes C avec Frama-C et son greffon WP</a> </p></div>
<p>Merci d’avance pour vos commentaires.</p>
<p>(Spellcheck)</p>Introduction à la preuve de programmes C avec Frama-C et son greffon WP, message #2120412019-12-11T15:20:24+01:00Ksass`Peuk/@Ksass%60Peukhttps://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p212041<p>Bonjour les agrumes !</p>
<p>La bêta a été mise à jour et décante sa pulpe
à l’adresse suivante :</p>
<div class="align-center"><p> <a href="https://zestedesavoir.com/contenus/beta/885/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/">Introduction à la preuve de programmes C avec Frama-C et son greffon WP</a> </p></div>
<p>Merci d’avance pour vos commentaires.</p>
<p>Il y a beaucoup de nouveau contenu, donc le plus simple pour faire le diff est sûrement de se baser sur la liste présente dans <a href="https://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp">le premier post</a> pour faire des retours sur ce qui est neuf.</p>Introduction à la preuve de programmes C avec Frama-C et son greffon WP, message #2119732019-12-09T19:06:56+01:00Ksass`Peuk/@Ksass%60Peukhttps://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p211973<p>Bon. Bah la galerie n’est pas versionnée. Du coup, j’ai flingué la version en ligne.</p>Introduction à la preuve de programmes C avec Frama-C et son greffon WP, message #2119502019-12-09T13:27:25+01:00Ksass`Peuk/@Ksass%60Peukhttps://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p211950<p>Encore du suivi. J’ai passé une partie de mon weekend sur le traduction, ce qui fait que :</p>
<ul>
<li>la version FR est presque prête, il ne reste qu’à faire une relecture profonde puis je passerai le tout en markdown ici,</li>
<li>la version EN a un peu évolué (quelques scripts mis à jour pour Coq, quelques explications changées),</li>
<li>la version FR a suivi le mouvement.</li>
</ul>
<p>EDIT : en fait, je vais tenter de faire une pierre deux coups. En transférant le latex vers le markdown pour relire.</p>Introduction à la preuve de programmes C avec Frama-C et son greffon WP, message #2118072019-12-06T08:41:46+01:00Ksass`Peuk/@Ksass%60Peukhttps://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p211807<p>Un peu de suivi.</p>
<p>Frama-C Calcium est sortie et avec ça j’ai eu quelques changements à faire qui sont pour certains notables et pour d’autres plus raisonnables. Dans l’ensemble ça a été relativement rapide. La prochaine version est dispo sous forme LaTeX sur <a href="https://github.com/AllanBlanchard/tutoriel_wp/tree/next-version">la branche next-version</a> du GitHub du bouquin.</p>
<p>J’ai bien avancé sur la traduction FR. En gros, tout est traduit du début jusqu’au chapitre 5 (cf <a href="https://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=1#p137790">premier post</a>), c’est dispo sur <a href="https://github.com/AllanBlanchard/tutoriel_wp/tree/translate-fr">la branche translate-fr</a> du GitHub.. Il reste le plus gros chapitre du livre à traduire mais j’ai encore un peu de motivation sous le pied pour l’instant. Il restera ensuite un peu de boulot pour porter les quelques changements depuis le moment du diff mais ça reste raisonnable. Après ça, je pourrais commencer à passer tout ça dans la version MD sur ZdS, ce qui va sûrement être moins drôle.</p>
<p>Bref, encore du boulot en perspective mais ça avance.</p>Introduction à la preuve de programmes C avec Frama-C et son greffon WP, message #2093972019-10-07T12:56:27+02:00Ksass`Peuk/@Ksass%60Peukhttps://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p209397<p>J’ai corrigé le plupart de ce qui a été pointé par <strong><a href="/membres/voir/Aabu/" rel="nofollow" class="ping ping-link">@<span class="ping-username">Aabu</span></a></strong>. La seule chose qui pour l’instant n’a pas changé, c’est les exercices sur les comportements, je vais en discuter avec des collègues qui bossent avec WP depuis plus longtemps que moi pour voir s’ils n’ont pas des idées qui pourraient faire des exercices plus intéressants sans pour autant être trop complexes. (Je n’ai pas encore changé le PDF sur mon site par contre, ça va venir).</p>
<p>En tout cas, je travaille de nouveau sur la traduction FR, et je vais sûrement avoir des modifications à faire par rapport à la prochaine version de Frama-C qui arrive. </p>Introduction à la preuve de programmes C avec Frama-C et son greffon WP, message #2084922019-09-11T10:37:43+02:00Ksass`Peuk/@Ksass%60Peukhttps://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p208492<p>Il me semblait avoir répondu à ce message mais en fait pas du tout. Désolé <strong><a href="/membres/voir/Aabu/" rel="nofollow" class="ping ping-link">@<span class="ping-username">Aabu</span></a></strong> <img src="/static/smileys/rouge.png" alt=":honte:" class="smiley"> .</p>
<p>Je devrais pouvoir me remettre sur la rédaction/correction d’éléments du tutoriel d’ici peu. Espérons avant que la prochaine version de Frama-C sorte. Hormis les points "simples" que je reprendrais lorsque je m’y attaquerait, juste quelques éléments de réponse pour les deux points suivants:</p>
<blockquote>
<p>Frama-C m’a relevé une erreur <code>[kernel:annot-error] loop_invar.c:28: Warning: unbound logic variable i. Ignoring code annotation</code>. En déclarant <code>i</code> en dehors de la boucle, ça marche.</p>
</blockquote>
<p>Oui, j’ai oublié de corriger cette erreur dans l’un des deux fichiers que j’utilise.</p>
<figure><blockquote>
<blockquote>
<p>4.3.3.1. Non-mutating: Forall, Exists, ..</p>
</blockquote>
<p>Dans cet exercice, je n’ai pas trouvé comment réutiliser le contrat de <code>pred</code> pour définir les autres fonctions. Je voulais écrire quelque chose du genre :</p>
<div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span><span></span><span></span><span></span><span></span><span></span></div><pre><code class="hljs language-c"><span class="hljs-comment">/*@
requires \valid_read(a + (0 .. s - 1));
assigns \nothing;
ensures \result <==> \forall size_t i; 0 <= i < s ==> pred(a[i]);
*/</span>
<span class="hljs-function"><span class="hljs-keyword">int</span> <span class="hljs-title">forall_pred</span><span class="hljs-params">(<span class="hljs-keyword">int</span>* a, <span class="hljs-keyword">size_t</span> s)</span>
</span></code></pre></div>
<p>mais je n’ai pas abouti. J’ai fini par virer <code>pred</code> et considérer les valeurs comme des booléens. </p>
<p>En regardant un peu plus loin, j’ai l’impression qu’il faudrait définir un prédicat et le réutiliser pour les autres fonctions, c’est bien ça ? Si oui, je me demande si cet exercice n’aurait pas plutôt sa place plus loin, quitte à garder une version sans <code>pred</code> ici.</p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p205562">Aabu</a></figcaption></figure>
<p>Il faut que je détaille plus l’exercice. On ne peut effectivement pas utiliser une fonction C dans du code ACSL. Et même si celle-ci indiquait <code>\assigns \nothing</code> on ne pourrait pas, parce que ce n’est qu’un comportement et pas une "vraie" pureté. Il faudrait que j’ajoute un point là dessus d’ailleurs.</p>
<p>Ici, je comptais simplement à ce que le contrat soit quelque part "inliné". Mais c’est effectivement peu clair.</p>
<figure><blockquote>
<ul>
<li>d’un côté les parties 1, 2, 3 et 4, "Fondamentaux",</li>
<li>de l’autre 5, 6, 7, "Approfondissement".</li>
</ul>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/7725/introduction-a-la-preuve-de-programmes-c-avec-frama-c-et-son-greffon-wp/?page=3#p205562">Aabu</a></figcaption></figure>
<p>A voir. Il faut que je jette un oeil au template tex de ZdS que j’ai un peu modifié pour qu’il corresponde mieux à ce que je fais.</p>
<p>Merci en tous cas <img src="/static/smileys/smile.png" alt=":)" class="smiley"></p>