<?xml version="1.0" encoding="UTF-8"?><mets:mets xmlns:mets="http://www.loc.gov/METS/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:mads="http://www.loc.gov/mads/" xmlns:metsRights="http://cosimo.stanford.edu/sdr/metsrights/" xmlns:suj="http://www.theses.fr/namespace/sujets" xmlns:tef="http://www.abes.fr/abes/documents/tef" xmlns:tefextension="http://www.abes.fr/abes/documents/tefextension" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.loc.gov/METS/ http://www.abes.fr/abes/documents/tef/recommandation/tef_schemas.xsd">
<mets:metsHdr CREATEDATE="2025-04-30T04:05:25" ID="ABES.STAR.THESE_232014.METS_HEADER" LASTMODDATE="2025-10-07T17:35:23" RECORDSTATUS="valide">
<mets:agent ROLE="CREATOR">
<mets:name/>
<mets:note>Note</mets:note>
</mets:agent>
<mets:agent ROLE="DISSEMINATOR">
<mets:name>ABES</mets:name>
</mets:agent>
<mets:altRecordID ID="ABES.STAR.THESE_232014.METS_HEADER.ALTERNATE" TYPE=""/>
</mets:metsHdr>
<mets:dmdSec ID="ABES.STAR.THESE_232014.DESCRIPTION_BIBLIOGRAPHIQUE">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_desc_these">
<mets:xmlData>
<tef:thesisRecord>
<dc:title xml:lang="en">Interactive compilation via trustworthy source-to-source transformations</dc:title>
<dcterms:alternative xml:lang="fr">Compilation interactive par des transformations source-à-source dignes de confiance</dcterms:alternative>
<dc:subject xml:lang="fr">Code haute performance</dc:subject>
<dc:subject xml:lang="fr">Preuve de programme</dc:subject>
<dc:subject xml:lang="fr">Optimisation source-à-source</dc:subject>
<dc:subject xml:lang="fr">Compilation</dc:subject>
<dc:subject xml:lang="fr">Logique de séparation</dc:subject>
<dc:subject xml:lang="en">High performance code</dc:subject>
<dc:subject xml:lang="en">Software verification</dc:subject>
<dc:subject xml:lang="en">Source-to-source optimization</dc:subject>
<dc:subject xml:lang="en">Compilation</dc:subject>
<dc:subject xml:lang="en">Separation logic</dc:subject>
<dc:subject xsi:type="dcterms:DDC">005</dc:subject>
<tef:sujetRameau xml:lang="fr">
<tef:vedetteRameauNomCommun>
<tef:elementdEntree autoriteExterne="12859683X" autoriteSource="Sudoc">Code source (informatique)</tef:elementdEntree>
</tef:vedetteRameauNomCommun>
<tef:vedetteRameauNomCommun>
<tef:elementdEntree autoriteExterne="034215387" autoriteSource="Sudoc">Calcul intensif (informatique)</tef:elementdEntree>
</tef:vedetteRameauNomCommun>
</tef:sujetRameau>
<dcterms:abstract xml:lang="fr">Les programmeurs sont confrontés à deux facteurs limitants : leur capacité à produire du code sans bogues et la puissance de calcul de leur matériel. L'optimisation manuelle du code peut repousser les limites du matériel, mais elle est chronophage, car elle augmente la taille du code et le risque de bogues.Cette thèse vise à réduire le travail nécessaire pour produire un code optimisé et exempt de bogues. Pour cela, nous avons développé le compilateur interactif OptiTrust qui applique des transformations source-à-source guidées par l'utilisateur.Pour assurer qu'aucune transformation ne crée de bogue, OptiTrust exploite des annotations en logique de séparation initialement fournies par l'utilisateur puis mises à jour automatiquement à chaque étape. Ces annotations peuvent encoder soit une preuve de correction fonctionnelle préservée par les transformations, soit la structure de la mémoire accessible qui permet de vérifier que les transformations préservent la sémantique du code.</dcterms:abstract>
<dcterms:abstract xml:lang="en">Programmers are usually facing two limiting factors: their ability to produce code without bugs, and the computing power of their hardware.User-driven code optimization can push the hardware limits further, but it can be time-consuming as it usually increases the code complexity and makes bugs more likely. This thesis aims at reducing the amount of work needed to produce code that is at the same time optimized and exempt from bugs. To achieve this goal, we developed an interactive compiler called OptiTrust, which applies user-guided source-to-source transformations.To guarantee that each transformation does not create a bug, OptiTrust leverages separation logic resource annotations initially written by the user and updated automatically at each step. These annotations can encode either a functional correctness proof, which is preserved through transformations, or the shape of the accessible mutable memory, which can be used to check that transformations preserve code semantics.</dcterms:abstract>
<dc:type>Electronic Thesis or Dissertation</dc:type>
<dc:type xsi:type="dcterms:DCMIType">Text</dc:type>
<dc:language xsi:type="dcterms:RFC3066">en</dc:language>
</tef:thesisRecord>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
<mets:dmdSec ID="ABES.STAR.THESE_232014.VERSION_COMPLETE.DESCRIPTION.EDITION_ARCHIVAGE">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_desc_edition">
<mets:xmlData>
<tef:edition>
<dcterms:medium xsi:type="dcterms:IMT">PDF</dcterms:medium>
<dcterms:extent>1468291</dcterms:extent>
<dc:identifier xsi:type="dcterms:URI">https://publication-theses.unistra.fr/public/theses_doctorat/2025/BERTHOLON_Guillaume_2025_ED269.pdf</dc:identifier>
<dc:identifier xsi:type="dcterms:URI">http://www.theses.fr/2025STRAD013/abes</dc:identifier>
<dc:identifier xsi:type="dcterms:URI">https://theses.hal.science/tel-05302456</dc:identifier>
<dc:identifier xsi:type="dcterms:URI">https://theses.hal.science/tel-05302456</dc:identifier>
<dc:identifier xsi:type="dcterms:URI">https://theses.hal.science/tel-05302456</dc:identifier>
<dc:identifier xsi:type="dcterms:URI">https://theses.hal.science/tel-05302456</dc:identifier>
</tef:edition>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
<mets:amdSec>
<mets:techMD ID="ABES.STAR.THESE_232014.ADMINISTRATION">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_admin_these">
<mets:xmlData>
<tef:thesisAdmin>
<tef:auteur>
<tef:nom>Bertholon</tef:nom>
<tef:prenom>Guillaume</tef:prenom>
<tef:dateNaissance>1997-02-05</tef:dateNaissance>
<tef:nationalite scheme="ISO-3166-1">FR</tef:nationalite>
<tef:autoriteExterne autoriteSource="Sudoc">290961572</tef:autoriteExterne>
<tef:autoriteExterne autoriteSource="INE">2508019469U</tef:autoriteExterne>
<tef:autoriteExterne autoriteSource="CodeEtu">22220110</tef:autoriteExterne>
<tef:autoriteExterne autoriteSource="DiplomeSISE42">4200018</tef:autoriteExterne>
</tef:auteur>
<dc:identifier xsi:type="tef:nationalThesisPID">https://theses.fr/2025STRAD013</dc:identifier>
<dc:identifier xsi:type="tef:NNT">2025STRAD013</dc:identifier>
<dc:identifier xsi:type="tef:DOI">https://doi.org/10.70675/c96ce4b6z259cz4adez8d3azfb9185492a3f</dc:identifier>
<dcterms:dateAccepted xsi:type="dcterms:W3CDTF">2025-09-22</dcterms:dateAccepted>
<tef:thesis.degree>
<tef:thesis.degree.discipline xml:lang="fr">Informatique</tef:thesis.degree.discipline>
<tef:thesis.degree.grantor>
<tef:nom>Strasbourg</tef:nom>
<tef:autoriteExterne autoriteSource="Sudoc">131056549</tef:autoriteExterne>
</tef:thesis.degree.grantor>
<tef:thesis.degree.level>Doctorat</tef:thesis.degree.level>
<tef:thesis.degree.name xml:lang="fr">Docteur es</tef:thesis.degree.name>
</tef:thesis.degree>
<tef:theseSurTravaux>non</tef:theseSurTravaux>
<tef:avisJury>oui</tef:avisJury>
<tef:directeurThese>
<tef:nom>Charguéraud</tef:nom>
<tef:prenom>Arthur</tef:prenom>
<tef:autoriteInterne>MADS_DIRECTEUR_DE_THESE_1</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="CodeCNU">2700</tef:autoriteExterne>
<tef:autoriteExterne autoriteSource="Sudoc">150248792</tef:autoriteExterne>
</tef:directeurThese>
<tef:presidentJury>
<tef:nom>Magaud</tef:nom>
<tef:prenom>Nicolas</tef:prenom>
<tef:autoriteInterne>MADS_PRESIDENT_DU_JURY</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="Sudoc">077385969</tef:autoriteExterne>
</tef:presidentJury>
<tef:membreJury>
<tef:nom>Keller</tef:nom>
<tef:prenom>Chantal</tef:prenom>
<tef:autoriteInterne>MADS_MEMBRE_DU_JURY_1</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="Sudoc">176956875</tef:autoriteExterne>
</tef:membreJury>
<tef:membreJury>
<tef:nom>Dagand</tef:nom>
<tef:prenom>Pierre-Evariste</tef:prenom>
<tef:autoriteInterne>MADS_MEMBRE_DU_JURY_2</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="Sudoc">253134765</tef:autoriteExterne>
</tef:membreJury>
<tef:rapporteur>
<tef:nom>Monniaux</tef:nom>
<tef:prenom>David</tef:prenom>
<tef:autoriteInterne>MADS_RAPPORTEUR_1</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="Sudoc">070681600</tef:autoriteExterne>
</tef:rapporteur>
<tef:rapporteur>
<tef:nom>Merz</tef:nom>
<tef:prenom>Stephan</tef:prenom>
<tef:autoriteInterne>MADS_RAPPORTEUR_2</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="Sudoc">120558513</tef:autoriteExterne>
</tef:rapporteur>
<tef:ecoleDoctorale>
<tef:nom>École doctorale Mathématiques, sciences de l'information et de l'ingénieur (Strasbourg ; 1997-....)</tef:nom>
<tef:autoriteInterne>MADS_ECOLE_DOCTORALE_1</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="Annuaire des formations doctorales et des unités de recherche">269</tef:autoriteExterne>
<tef:autoriteExterne autoriteSource="Sudoc">156504863</tef:autoriteExterne>
</tef:ecoleDoctorale>
<tef:partenaireRecherche type="laboratoire">
<tef:nom>Laboratoire des sciences de l'ingénieur, de l'informatique et de l'imagerie (Strasbourg ; 2013-....)</tef:nom>
<tef:autoriteInterne>MADS_PARTENAIRE_DE_RECHERCHE_1</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="labTEL">260728</tef:autoriteExterne>
<tef:autoriteExterne autoriteSource="Sudoc">176969721</tef:autoriteExterne>
</tef:partenaireRecherche>
<tef:oaiSetSpec>ddc:004</tef:oaiSetSpec>
<tef:MADSAuthority authorityID="MADS_DIRECTEUR_DE_THESE_1" type="personal">
<tef:personMADS>
<mads:namePart type="family">Charguéraud</mads:namePart>
<mads:namePart type="given">Arthur</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_PRESIDENT_DU_JURY" type="personal">
<tef:personMADS>
<mads:namePart type="family">Magaud</mads:namePart>
<mads:namePart type="given">Nicolas</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_MEMBRE_DU_JURY_1" type="personal">
<tef:personMADS>
<mads:namePart type="family">Keller</mads:namePart>
<mads:namePart type="given">Chantal</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_MEMBRE_DU_JURY_2" type="personal">
<tef:personMADS>
<mads:namePart type="family">Dagand</mads:namePart>
<mads:namePart type="given">Pierre-Evariste</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_RAPPORTEUR_1" type="personal">
<tef:personMADS>
<mads:namePart type="family">Monniaux</mads:namePart>
<mads:namePart type="given">David</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_RAPPORTEUR_2" type="personal">
<tef:personMADS>
<mads:namePart type="family">Merz</mads:namePart>
<mads:namePart type="given">Stephan</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_ECOLE_DOCTORALE_1" type="corporate">
<tef:personMADS>
<mads:namePart type="family">École doctorale Mathématiques, sciences de l'information et de l'ingénieur (Strasbourg ; 1997-....)</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_PARTENAIRE_DE_RECHERCHE_1" type="corporate">
<tef:personMADS>
<mads:namePart type="family">Laboratoire des sciences de l'ingénieur, de l'informatique et de l'imagerie (Strasbourg ; 2013-....)</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
</tef:thesisAdmin>
</mets:xmlData>
</mets:mdWrap>
</mets:techMD>
<mets:techMD ID="ABES.STAR.THESE_232014.VERSION_COMPLETE.EDITION_ARCHIVAGE.TECH_FICHIER.DOSSIER_1.DOSSIER_1.FICHIER_1">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_tech_fichier">
<mets:xmlData>
<tef:meta_fichier>
<tef:formatFichier>PDF</tef:formatFichier>
<tef:taille>1468291</tef:taille>
</tef:meta_fichier>
</mets:xmlData>
</mets:mdWrap>
</mets:techMD>
<mets:rightsMD ID="ABES.STAR.THESE_232014.DROITS_UNIVERSITE">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_droits_etablissement_these">
<mets:xmlData>
<metsRights:RightsDeclarationMD RIGHTSCATEGORY="CONTRACTUAL">
<metsRights:Context CONTEXTCLASS="GENERAL PUBLIC">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="false"/>
</metsRights:Context>
<metsRights:Context CONTEXTCLASS="INSTITUTIONAL AFFILIATE">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="false"/>
</metsRights:Context>
</metsRights:RightsDeclarationMD>
</mets:xmlData>
</mets:mdWrap>
</mets:rightsMD>
<mets:rightsMD ID="ABES.STAR.THESE_232014.DROITS_DOCTORANT">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_droits_auteur_these">
<mets:xmlData>
<metsRights:RightsDeclarationMD RIGHTSCATEGORY="CONTRACTUAL">
<metsRights:Context CONTEXTCLASS="GENERAL PUBLIC">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="false"/>
</metsRights:Context>
<metsRights:Context CONTEXTCLASS="INSTITUTIONAL AFFILIATE">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="false"/>
</metsRights:Context>
</metsRights:RightsDeclarationMD>
</mets:xmlData>
</mets:mdWrap>
</mets:rightsMD>
<mets:rightsMD ID="ABES.STAR.THESE_232014.VERSION_COMPLETE.DROITS">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_droits_version">
<mets:xmlData>
<metsRights:RightsDeclarationMD RIGHTSCATEGORY="CONTRACTUAL">
<metsRights:Context CONTEXTCLASS="GENERAL PUBLIC">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="false"/>
</metsRights:Context>
<metsRights:Context CONTEXTCLASS="INSTITUTIONAL AFFILIATE">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="false"/>
</metsRights:Context>
</metsRights:RightsDeclarationMD>
</mets:xmlData>
</mets:mdWrap>
</mets:rightsMD>
</mets:amdSec>
<mets:fileSec>
<mets:fileGrp ID="ABES.STAR.THESE_232014.VERSION_COMPLETE.EDITION_ARCHIVAGE.FILEGRP" USE="archive_et_diffusion">
<mets:file ADMID="ABES.STAR.THESE_232014.VERSION_COMPLETE.EDITION_ARCHIVAGE.TECH_FICHIER.DOSSIER_1.DOSSIER_1.FICHIER_1" ID="ABES.STAR.THESE_232014.VERSION_COMPLETE.EDITION_ARCHIVAGE.DOSSIER_1.DOSSIER_1.FICHIER_1" SEQ="1">
<mets:FLocat LOCTYPE="URL" xlink:href="STRA/THESE_232014/document/0/0/BERTHOLON_Guillaume_2025_ED269.pdf"/>
</mets:file>
</mets:fileGrp>
</mets:fileSec>
<mets:structMap TYPE="logical">
<mets:div ADMID="ABES.STAR.THESE_232014.ADMINISTRATION ABES.STAR.THESE_232014.DROITS_UNIVERSITE ABES.STAR.THESE_232014.DROITS_DOCTORANT" CONTENTIDS="CONTENTIDS.ABES.STAR.THESE_232014" DMDID="ABES.STAR.THESE_232014.DESCRIPTION_BIBLIOGRAPHIQUE" TYPE="THESE">
<mets:div ADMID="ABES.STAR.THESE_232014.VERSION_COMPLETE.DROITS" CONTENTIDS="CONTENTIDS.ABES.STAR.THESE_232014.ABES.STAR.THESE_232014.VERSION_COMPLETE" TYPE="VERSION_COMPLETE">
<mets:div CONTENTIDS="CONTENTIDS.ABES.STAR.THESE_232014.VERSION_COMPLETE.EDITION_ARCHIVAGE" DMDID="ABES.STAR.THESE_232014.VERSION_COMPLETE.DESCRIPTION.EDITION_ARCHIVAGE" TYPE="EDITION">
<mets:fptr FILEID="ABES.STAR.THESE_232014.VERSION_COMPLETE.EDITION_ARCHIVAGE.FILEGRP"/>
</mets:div>
</mets:div>
</mets:div>
</mets:structMap>
</mets:mets>