<?xml version="1.0" encoding="utf-8"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hal="http://hal.archives-ouvertes.fr/" xmlns:gml="http://www.opengis.net/gml/3.3/" xmlns:gmlce="http://www.opengis.net/gml/3.3/ce" version="1.1" xsi:schemaLocation="http://www.tei-c.org/ns/1.0 http://api.archives-ouvertes.fr/documents/aofr-sword.xsd">
  <teiHeader>
    <fileDesc>
      <titleStmt>
        <title>HAL TEI export of hal-04108775v3</title>
      </titleStmt>
      <publicationStmt>
        <distributor>CCSD</distributor>
        <availability status="restricted">
          <licence target="https://creativecommons.org/publicdomain/zero/1.0/">CC0 1.0 - Universal</licence>
        </availability>
        <date when="2026-05-23T02:01:29+02:00"/>
      </publicationStmt>
      <sourceDesc>
        <p part="N">HAL API Platform</p>
      </sourceDesc>
    </fileDesc>
  </teiHeader>
  <text>
    <body>
      <listBibl>
        <biblFull>
          <titleStmt>
            <title xml:lang="en">Lazy Code Transformations in a Formally Verified Compiler</title>
            <author role="aut">
              <persName>
                <forename type="first">Léo</forename>
                <surname>Gourdin</surname>
              </persName>
              <email type="md5">c8fb623708bf741f61bafbbbfbb32ab0</email>
              <email type="domain">univ-grenoble-alpes.fr</email>
              <idno type="idhal" notation="string">lgourdin</idno>
              <idno type="idhal" notation="numeric">1257015</idno>
              <idno type="halauthorid" notation="string">2190729-1257015</idno>
              <idno type="ORCID">https://orcid.org/0009-0008-2187-7764</idno>
              <affiliation ref="#struct-1043148"/>
            </author>
            <editor role="depositor">
              <persName>
                <forename>Léo</forename>
                <surname>Gourdin</surname>
              </persName>
              <email type="md5">e6f91cde5600addafe314884e182985e</email>
              <email type="domain">lilo.org</email>
            </editor>
            <funder ref="#projanr-38053"/>
            <funder ref="#projanr-42467"/>
          </titleStmt>
          <editionStmt>
            <edition n="v1">
              <date type="whenSubmitted">2023-05-30 09:30:12</date>
            </edition>
            <edition n="v2">
              <date type="whenSubmitted">2023-06-26 09:23:54</date>
            </edition>
            <edition n="v3" type="current">
              <date type="whenSubmitted">2023-07-10 10:33:10</date>
              <date type="whenModified">2024-01-28 03:38:55</date>
              <date type="whenReleased">2023-07-18 16:41:34</date>
              <date type="whenProduced">2023-07-17</date>
              <date type="whenEndEmbargoed">2023-07-10</date>
              <ref type="file" target="https://hal.science/hal-04108775v3/document">
                <date notBefore="2023-07-10"/>
              </ref>
              <ref type="file" subtype="author" n="1" target="https://hal.science/hal-04108775v3/file/preprint.pdf" id="file-4157126-3620026">
                <date notBefore="2023-07-10"/>
              </ref>
            </edition>
            <edition n="v4">
              <date type="whenSubmitted">2024-01-23 10:03:17</date>
            </edition>
            <respStmt>
              <resp>contributor</resp>
              <name key="982955">
                <persName>
                  <forename>Léo</forename>
                  <surname>Gourdin</surname>
                </persName>
                <email type="md5">e6f91cde5600addafe314884e182985e</email>
                <email type="domain">lilo.org</email>
              </name>
            </respStmt>
          </editionStmt>
          <publicationStmt>
            <distributor>CCSD</distributor>
            <idno type="halId">hal-04108775</idno>
            <idno type="halUri">https://hal.science/hal-04108775</idno>
            <idno type="halBibtex">gourdin:hal-04108775</idno>
            <idno type="halRefHtml">&lt;i&gt;ICOOOLPS '23: 18th ACM International Workshop on Implementation, Compilation, Optimization of OO Languages, Programs and Systems&lt;/i&gt;, Jul 2023, Seattle WA USA, United States. pp.3-14, &lt;a target="_blank" href="https://dx.doi.org/10.1145/3605158.3605848"&gt;&amp;#x27E8;10.1145/3605158.3605848&amp;#x27E9;&lt;/a&gt;</idno>
            <idno type="halRef">ICOOOLPS '23: 18th ACM International Workshop on Implementation, Compilation, Optimization of OO Languages, Programs and Systems, Jul 2023, Seattle WA USA, United States. pp.3-14, &amp;#x27E8;10.1145/3605158.3605848&amp;#x27E9;</idno>
            <availability status="restricted">
              <licence target="https://hal.science/licences/copyright/">Copyright - All rights reserved<ref corresp="#file-4157126-3620026"/></licence>
            </availability>
          </publicationStmt>
          <seriesStmt/>
          <notesStmt>
            <note type="audience" n="2">International</note>
            <note type="invited" n="0">No</note>
            <note type="popular" n="0">No</note>
            <note type="peer" n="1">Yes</note>
            <note type="proceedings" n="1">Yes</note>
          </notesStmt>
          <sourceDesc>
            <biblStruct>
              <analytic>
                <title xml:lang="en">Lazy Code Transformations in a Formally Verified Compiler</title>
                <author role="aut">
                  <persName>
                    <forename type="first">Léo</forename>
                    <surname>Gourdin</surname>
                  </persName>
                  <email type="md5">c8fb623708bf741f61bafbbbfbb32ab0</email>
                  <email type="domain">univ-grenoble-alpes.fr</email>
                  <idno type="idhal" notation="string">lgourdin</idno>
                  <idno type="idhal" notation="numeric">1257015</idno>
                  <idno type="halauthorid" notation="string">2190729-1257015</idno>
                  <idno type="ORCID">https://orcid.org/0009-0008-2187-7764</idno>
                  <affiliation ref="#struct-1043148"/>
                </author>
              </analytic>
              <monogr>
                <title level="m">Proceedings of the 18th ACM International Workshop on Implementation, Compilation, Optimization of OO Languages, Programs and Systems (ICOOOLPS '23)</title>
                <meeting>
                  <title>ICOOOLPS '23: 18th ACM International Workshop on Implementation, Compilation, Optimization of OO Languages, Programs and Systems</title>
                  <date type="start">2023-07-17</date>
                  <date type="end">2023-07-21</date>
                  <settlement>Seattle WA USA</settlement>
                  <country key="US">United States</country>
                </meeting>
                <imprint>
                  <publisher>ACM</publisher>
                  <biblScope unit="pp">3-14</biblScope>
                  <date type="datePub">2023-05-30</date>
                </imprint>
              </monogr>
              <idno type="doi">10.1145/3605158.3605848</idno>
              <ref type="publisher">https://conf.researchr.org/track/ecoop-issta-2023/ICOOOLPS-2023</ref>
            </biblStruct>
          </sourceDesc>
          <profileDesc>
            <langUsage>
              <language ident="en">English</language>
            </langUsage>
            <textClass>
              <keywords scheme="author">
                <term xml:lang="en">Translation Validation</term>
                <term xml:lang="en">Symbolic Execution</term>
                <term xml:lang="en">the CompCert Compiler</term>
                <term xml:lang="en">RISC-V</term>
                <term xml:lang="en">Optimization</term>
                <term xml:lang="en">Strength-reduction</term>
                <term xml:lang="en">Formal Proof</term>
              </keywords>
              <classCode scheme="https://dl.acm.org/ccs" n="ACM2012.A.1.8"/>
              <classCode scheme="https://dl.acm.org/ccs" n="ACM2012.E.1.2.2"/>
              <classCode scheme="https://dl.acm.org/ccs" n="ACM2012.E.2.3.5"/>
              <classCode scheme="halDomain" n="info.info-se">Computer Science [cs]/Software Engineering [cs.SE]</classCode>
              <classCode scheme="halTypology" n="COMM">Conference papers</classCode>
              <classCode scheme="halOldTypology" n="COMM">Conference papers</classCode>
              <classCode scheme="halTreeTypology" n="COMM">Conference papers</classCode>
            </textClass>
            <abstract xml:lang="en">
              <p>Translation validation verifies the results of an untrusted translator---called an oracle---at the compiler's runtime using a validator. This approach enables validating intricate optimizations without having to prove them directly. Parametrizing such a validator with hints provided by oracles greatly simplifies its integration within a formally verified compiler---such as CompCert. However, generating those hints requires adapting state-of-the-art optimizations.The co-design of a validation framework supporting a class of optimizations led us to improve the Lazy Code Motion (LCM) and Lazy Strength Reduction (LSR) data-flow algorithms of Knoop, Rüthing, and Steffen. We propose an efficient implementation in OCaml combining both LCM and LSR, operating over basic-blocks, and whose result is checked by a Coq-verified validator. We show how to generate invariant annotations from the data-flow equations as hints for the defensive validation, and we introduce several algorithmic refinements w.r.t. the original papers.Our solution is fully integrated within CompCert, and to the best of our knowledge, it is the first formally verified strength-reduction of loop-induction variables.</p>
            </abstract>
          </profileDesc>
        </biblFull>
      </listBibl>
    </body>
    <back>
      <listOrg type="structures">
        <org type="laboratory" xml:id="struct-1043148" status="VALID">
          <idno type="IdRef">184945623</idno>
          <idno type="ISNI">0000 0004 0382 7652</idno>
          <idno type="RNSR">199511789R</idno>
          <idno type="ROR">https://ror.org/05afmzm11</idno>
          <orgName>VERIMAG</orgName>
          <orgName type="acronym">VERIMAG - IMAG</orgName>
          <date type="start">2020-01-01</date>
          <desc>
            <address>
              <addrLine>VerimagBâtiment IMAGUniversité Grenoble Alpes700, avenue centrale38401 Saint Martin d’Hères</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">https://www-verimag.imag.fr/?lang=fr</ref>
          </desc>
          <listRelation>
            <relation name="UMR5104" active="#struct-441569" type="direct"/>
            <relation active="#struct-1042703" type="direct"/>
            <relation active="#struct-1043329" type="direct"/>
          </listRelation>
        </org>
        <org type="regroupinstitution" xml:id="struct-441569" status="VALID">
          <idno type="IdRef">02636817X</idno>
          <idno type="ISNI">0000000122597504</idno>
          <idno type="ROR">https://ror.org/02feahw73</idno>
          <orgName>Centre National de la Recherche Scientifique</orgName>
          <orgName type="acronym">CNRS</orgName>
          <date type="start">1939-10-19</date>
          <desc>
            <address>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.cnrs.fr/</ref>
          </desc>
        </org>
        <org type="regroupinstitution" xml:id="struct-1042703" status="VALID">
          <idno type="IdRef">240648315</idno>
          <idno type="ROR">https://ror.org/02rx3b187</idno>
          <orgName>Université Grenoble Alpes</orgName>
          <orgName type="acronym">UGA</orgName>
          <date type="start">2020-01-01</date>
          <desc>
            <address>
              <addrLine>Adresse CS 40700 - 38058 Grenoble cedex</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.univ-grenoble-alpes.fr</ref>
          </desc>
        </org>
        <org type="institution" xml:id="struct-1043329" status="VALID">
          <idno type="IdRef">026388804</idno>
          <idno type="ROR">https://ror.org/05sbt2524</idno>
          <orgName>Institut polytechnique de Grenoble - Grenoble Institute of Technology</orgName>
          <orgName type="acronym">Grenoble INP</orgName>
          <date type="start">2020-01-01</date>
          <desc>
            <address>
              <addrLine>46 avenue Félix Viallet 38031 Grenoble Cedex 1</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.grenoble-inp.fr/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-1042703" type="direct"/>
          </listRelation>
        </org>
      </listOrg>
      <listOrg type="projects">
        <org type="anrProject" xml:id="projanr-38053" status="VALID">
          <idno type="anr">ANR-11-LABX-0025</idno>
          <idno type="program">Laboratoires d'excellence</idno>
          <orgName>PERSYVAL-lab</orgName>
          <desc>Systemes et Algorithmes Pervasifs au confluent des mondes physique et numérique</desc>
          <date type="start">2011</date>
        </org>
        <org type="anrProject" xml:id="projanr-42467" status="VALID">
          <idno type="anr">ANR-15-IDEX-0002</idno>
          <orgName>UGA</orgName>
          <desc>IDEX UGA</desc>
          <date type="start">2015</date>
        </org>
      </listOrg>
    </back>
  </text>
</TEI>