<?xml version="1.0" encoding="UTF-8"?><lom:lom xmlns:lom="http://ltsc.ieee.org/xsd/LOM" xmlns:lomfr="http://www.lom-fr.fr/xsd/LOMFR">
<lom:general>
<lom:identifier>
<lom:catalog>URI</lom:catalog>
<lom:entry>http://ori.unit-c.fr/uid/unit-ori-wf-1-3521</lom:entry>
</lom:identifier>
<lom:title>
<lom:string language="fre"> Comment faire confiance à un compilateur ? (série : Colloquium Jacques Morgenstern)</lom:string>
</lom:title>
<lom:language>fre</lom:language>
<lom:description>
<lom:string language="fre">Les outils de vérification formelle de programmes (analyseurs statiques, prouveurs de programmes, model-checkers) ont fait des progrès remarquables ces dernières années et commencent à percer dans le monde du logiciel critique. Cependant, ces outils ne vérifient "que" des programmes source: des erreurs dans les compilateurs qui les transforment en code machine exécutable ou dans les processeurs qui les exécutent peuvent toujours invalider les garanties obtenues par vérification du source. Je présenterai un projet en cours, appelé Compcert, qui vise à éliminer totalement cette incertitude dans le cas des compilateurs. Il s'agit d'un compilateur réaliste pour le sous-ensemble "embarqué critique" du langage C qui s'accompagne d'une preuve mathématique de préservation sémantique, montrant que le compilateur ne va jamais introduire d'erreurs dans le programme qu'il compile. Nous utilisons l'assistant de preuve Coq non seulement pour conduire cette preuve, mais aussi comme langage de programmation pour écrire le compilateur lui-même. Je terminerai par quelques perspectives plus générales sur l'avenir des langages et outils de programmation vus sous l'angle de la vérification formelle de programmes.</lom:string>
</lom:description>
<lom:keyword>
<lom:string language="fre">compilateur</lom:string>
</lom:keyword>
<lom:keyword>
<lom:string language="fre">logiciel critique</lom:string>
</lom:keyword>
<lom:keyword>
<lom:string language="fre">programmation fonctionnelle</lom:string>
</lom:keyword>
<lom:keyword>
<lom:string language="fre">vérification de programme</lom:string>
</lom:keyword>
<lom:keyword>
<lom:string language="fre">vérification formelle</lom:string>
</lom:keyword>
<lom:keyword>
<lom:string language="fre">preuve formelle</lom:string>
</lom:keyword>
<lom:keyword>
<lom:string language="fre">fuscia</lom:string>
</lom:keyword>
<lom:keyword>
<lom:string language="fre">conference</lom:string>
</lom:keyword>
<lom:keyword>
<lom:string language="fre">stic</lom:string>
</lom:keyword>
<lom:keyword>
<lom:string language="fre">recherche</lom:string>
</lom:keyword>
<lom:structure>
<lom:source>LOMv1.0</lom:source>
<lom:value>atomic</lom:value>
</lom:structure>
<lom:aggregationLevel>
<lom:source>LOMv1.0</lom:source>
<lom:value>2</lom:value>
</lom:aggregationLevel>
<lomfr:documentType>
<lomfr:source>LOMv1.0</lomfr:source>
<lomfr:value>image en mouvement</lomfr:value>
</lomfr:documentType>
</lom:general>
<lom:lifeCycle>
<lom:status>
<lom:source>LOMv1.0</lom:source>
<lom:value>final</lom:value>
</lom:status>
<lom:contribute>
<lom:role>
<lom:source>LOMv1.0</lom:source>
<lom:value>author</lom:value>
</lom:role>
<lom:entity>BEGIN:VCARD
VERSION:3.0
N:Leroy;Xavier;;;
FN:Xavier Leroy
EMAIL;TYPE=INTERNET:Xavier.Leroy@inria.fr
ORG:INRIA - Centre de Recherche Paris - Rocquencourt
END:VCARD</lom:entity>
<lom:date>
<lom:dateTime>2009-10-08</lom:dateTime>
</lom:date>
</lom:contribute>
<lom:contribute>
<lom:role>
<lom:source>LOMv1.0</lom:source>
<lom:value>publisher</lom:value>
</lom:role>
<lom:entity>BEGIN:VCARD
VERSION:3.0
N:Institut National de Recherche en Informatique et en Automatique;;;;
FN:Institut National de Recherche en Informatique et en Automatique
EMAIL;TYPE=INTERNET:
ORG:INRIA
END:VCARD</lom:entity>
<lom:date>
<lom:dateTime>2009-12-11</lom:dateTime>
</lom:date>
</lom:contribute>
</lom:lifeCycle>
<lom:metaMetadata>
<lom:identifier>
<lom:catalog>URI</lom:catalog>
<lom:entry>http://ori.unit-c.fr/uid/unit-ori-wf-1-3522</lom:entry>
</lom:identifier>
<lom:contribute>
<lom:role>
<lom:source>LOMv1.0</lom:source>
<lom:value>creator</lom:value>
</lom:role>
<lom:entity>BEGIN:VCARD
VERSION:3.0
N:Comte;Marie-Hélène;Marie-Hélène;;;
FN:Marie-Hélène Comte;Marie-Hélène
EMAIL;TYPE=INTERNET:marie-Hélène.comte@sophia.inria.fr
ORG:Inria, Institut National de recherche en Informatique et Automatique
END:VCARD</lom:entity>
<lom:date>
<lom:dateTime>2009-11-25</lom:dateTime>
</lom:date>
</lom:contribute>
<lom:metadataSchema>LOMv1.0</lom:metadataSchema>
<lom:metadataSchema>LOMFRv1.0</lom:metadataSchema>
<lom:metadataSchema>SupLOMFRv1.0</lom:metadataSchema>
<lom:language>fre</lom:language>
</lom:metaMetadata>
<lom:technical>
<lom:format>text/html</lom:format>
<lom:format>application/pdf</lom:format>
<lom:size>4096</lom:size>
<lom:location>http://iww.inria.fr/colloquium/fr/xavier-leroy-comment-faire-confiance-a-un-compilateur/</lom:location>
<lom:requirement/>
</lom:technical>
<lom:educational>
<lom:learningResourceType>
<lom:source>LOMv1.0</lom:source>
<lom:value>lecture</lom:value>
</lom:learningResourceType>
<lom:intendedEndUserRole>
<lom:source>LOMv1.0</lom:source>
<lom:value>learner</lom:value>
</lom:intendedEndUserRole>
<lom:intendedEndUserRole>
<lom:source>LOMv1.0</lom:source>
<lom:value>teacher</lom:value>
</lom:intendedEndUserRole>
<lom:context>
<lom:source>LOMv1.0</lom:source>
<lom:value>higher education</lom:value>
</lom:context>
<lom:context>
<lom:source>LOMFRv1.0</lom:source>
<lom:value>licence</lom:value>
</lom:context>
<lom:typicalAgeRange>
<lom:string language="fre">18 +</lom:string>
</lom:typicalAgeRange>
<lom:difficulty>
<lom:source>LOMv1.0</lom:source>
<lom:value>medium</lom:value>
</lom:difficulty>
<lom:description>
<lom:string language="fre">- pour illustrer l'utilisation des méthodes formelles dans la vérification de programmes 
lors d' un cours sur la programmation fonctionnelle ou sur les compilateurs.
- pour comprendre les problématiques de l'industrie du logiciel critique</lom:string>
</lom:description>
<lomfr:activity>
<lomfr:source>LOMFRv1.0</lomfr:source>
<lomfr:value>s'informer</lomfr:value>
</lomfr:activity>
<lom:language>fre</lom:language>
<lomfr:activity>
<lomfr:source>LOMFRv1.0</lomfr:source>
<lomfr:value>apprendre</lomfr:value>
</lomfr:activity>
</lom:educational>
<lom:rights>
<lom:cost>
<lom:source>LOMv1.0</lom:source>
<lom:value>no</lom:value>
</lom:cost>
<lom:copyrightAndOtherRestrictions>
<lom:source>LOMv1.0</lom:source>
<lom:value>yes</lom:value>
</lom:copyrightAndOtherRestrictions>
<lom:description>
<lom:string language="fre">Document libre, dans le cadre de la licence Creative Commons (http://creativecommons.org/licenses/by-nd/2.0/fr/), citation de l'auteur obligatoire et interdiction de désassembler (paternité, pas de modification) </lom:string>
</lom:description>
</lom:rights>
<lom:relation>
<lom:kind>
<lom:source>LOMv1.0</lom:source>
<lom:value>ispartof</lom:value>
</lom:kind>
<lom:resource>
<lom:identifier>
<lom:catalog>URI</lom:catalog>
<lom:entry>http://ori.unit-c.fr/uid/unit-ori-wf-1-3045</lom:entry>
</lom:identifier>
<lom:description>
<lom:string language="fre">Colloquium Jacques Morgenstern</lom:string>
</lom:description>
</lom:resource>
</lom:relation>
<lom:classification>
<lom:purpose>
<lom:source>LOMv1.0</lom:source>
<lom:value>discipline</lom:value>
</lom:purpose>
<lom:taxonPath>
<lom:source>
<lom:string language="fre">Classification UNIT</lom:string>
</lom:source>
<lom:taxon>
<lom:id>1307</lom:id>
<lom:entry>
<lom:string language="fre">Systèmes d'exploitation, interpréteurs, compilateurs</lom:string>
</lom:entry>
</lom:taxon>
</lom:taxonPath>
<lom:taxonPath>
<lom:source>
<lom:string language="fre">Classification UNIT</lom:string>
</lom:source>
<lom:taxon>
<lom:id>1806</lom:id>
<lom:entry>
<lom:string language="fre">Qualité, Fiabilité, Sécurité</lom:string>
</lom:entry>
</lom:taxon>
</lom:taxonPath>
</lom:classification>
<lom:classification>
<lom:purpose>
<lom:source>LOMv1.0</lom:source>
<lom:value>discipline</lom:value>
</lom:purpose>
<lom:taxonPath>
<lom:source>
<lom:string language="eng">CDD 22e éd.</lom:string>
</lom:source>
<lom:taxon>
<lom:id>005.4</lom:id>
<lom:entry>
<lom:string language="eng">compilers computer programs </lom:string>
</lom:entry>
</lom:taxon>
</lom:taxonPath>
<lom:taxonPath>
<lom:source>
<lom:string language="fre">CDD 22e éd.</lom:string>
</lom:source>
<lom:taxon>
<lom:id>005.14</lom:id>
<lom:entry>
<lom:string language="eng">program verification</lom:string>
</lom:entry>
</lom:taxon>
</lom:taxonPath>
</lom:classification>
</lom:lom>