<?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-04187086</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-17T21:55:10+02:00"/>
      </publicationStmt>
      <sourceDesc>
        <p part="N">HAL API Platform</p>
      </sourceDesc>
    </fileDesc>
  </teiHeader>
  <text>
    <body>
      <listBibl>
        <biblFull>
          <titleStmt>
            <title xml:lang="en">Symbolic transformation of expressions in modular arithmetic</title>
            <author role="aut">
              <persName>
                <forename type="first">Jérôme</forename>
                <surname>Boillot</surname>
              </persName>
              <email type="md5">990118063ea4db972c6d7c10fdc33e64</email>
              <email type="domain">gmail.com</email>
              <idno type="idhal" notation="string">jerome-boillot</idno>
              <idno type="idhal" notation="numeric">1277374</idno>
              <idno type="halauthorid" notation="string">2881951-1277374</idno>
              <idno type="ORCID">https://orcid.org/0009-0001-7286-337X</idno>
              <affiliation ref="#struct-564132"/>
              <affiliation ref="#struct-25027"/>
              <affiliation ref="#struct-441569"/>
              <affiliation ref="#struct-454318"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Jérôme</forename>
                <surname>Feret</surname>
              </persName>
              <email type="md5">1be6d35ad026450ab59de8bbff481ad5</email>
              <email type="domain">ens.fr</email>
              <idno type="idhal" notation="string">jerome-feret</idno>
              <idno type="idhal" notation="numeric">749591</idno>
              <idno type="halauthorid" notation="string">371587-749591</idno>
              <idno type="GOOGLE SCHOLAR">https://scholar.google.fr/citations?user=TcO5mvwAAAAJ&amp;hl=fr</idno>
              <idno type="ORCID">https://orcid.org/0000-0002-2601-2785</idno>
              <affiliation ref="#struct-564132"/>
              <affiliation ref="#struct-25027"/>
              <affiliation ref="#struct-441569"/>
              <affiliation ref="#struct-454318"/>
            </author>
            <editor role="depositor">
              <persName>
                <forename>Jérôme</forename>
                <surname>Boillot</surname>
              </persName>
              <email type="md5">990118063ea4db972c6d7c10fdc33e64</email>
              <email type="domain">gmail.com</email>
            </editor>
          </titleStmt>
          <editionStmt>
            <edition n="v1" type="current">
              <date type="whenSubmitted">2023-08-24 13:38:57</date>
              <date type="whenModified">2025-10-27 09:38:02</date>
              <date type="whenReleased">2023-08-24 14:02:09</date>
              <date type="whenProduced">2023-10-22</date>
              <date type="whenEndEmbargoed">2023-08-24</date>
              <ref type="file" target="https://hal.science/hal-04187086v1/document">
                <date notBefore="2023-08-24"/>
              </ref>
              <ref type="file" subtype="author" n="1" target="https://hal.science/hal-04187086v1/file/paper_5552.pdf" id="file-4187086-3649438">
                <date notBefore="2023-08-24"/>
              </ref>
            </edition>
            <respStmt>
              <resp>contributor</resp>
              <name key="1442595">
                <persName>
                  <forename>Jérôme</forename>
                  <surname>Boillot</surname>
                </persName>
                <email type="md5">990118063ea4db972c6d7c10fdc33e64</email>
                <email type="domain">gmail.com</email>
              </name>
            </respStmt>
          </editionStmt>
          <publicationStmt>
            <distributor>CCSD</distributor>
            <idno type="halId">hal-04187086</idno>
            <idno type="halUri">https://hal.science/hal-04187086</idno>
            <idno type="halBibtex">boillot:hal-04187086</idno>
            <idno type="halRefHtml">&lt;i&gt;Static Analysis: 30th International Symposium, SAS 2023&lt;/i&gt;, Oct 2023, Cascais, Portugal. pp.84-113, &lt;a target="_blank" href="https://dx.doi.org/10.1007/978-3-031-44245-2_6"&gt;&amp;#x27E8;10.1007/978-3-031-44245-2_6&amp;#x27E9;&lt;/a&gt;</idno>
            <idno type="halRef">Static Analysis: 30th International Symposium, SAS 2023, Oct 2023, Cascais, Portugal. pp.84-113, &amp;#x27E8;10.1007/978-3-031-44245-2_6&amp;#x27E9;</idno>
            <availability status="restricted">
              <licence target="https://about.hal.science/hal-authorisation-v1/">HAL Authorization<ref corresp="#file-4187086-3649438"/></licence>
            </availability>
          </publicationStmt>
          <seriesStmt>
            <idno type="stamp" n="ENS-PARIS">Ecole Normale Supérieure de Paris</idno>
            <idno type="stamp" n="CNRS">CNRS - Centre national de la recherche scientifique</idno>
            <idno type="stamp" n="INRIA">INRIA - Institut National de Recherche en Informatique et en Automatique</idno>
            <idno type="stamp" n="INRIA-ROCQ">INRIA Paris - Rocquencourt</idno>
            <idno type="stamp" n="TESTALAIN1">TESTALAIN1</idno>
            <idno type="stamp" n="INRIA2">INRIA 2</idno>
            <idno type="stamp" n="PSL">Université Paris sciences et lettres</idno>
            <idno type="stamp" n="INRIA-PSL">INRIA-PSL</idno>
            <idno type="stamp" n="ENS-PSL" corresp="PSL">École normale supérieure - PSL</idno>
            <idno type="stamp" n="DIENS" corresp="ENS-PARIS">Département d'informatique de l'ENS-PSL</idno>
          </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">Symbolic transformation of expressions in modular arithmetic</title>
                <author role="aut">
                  <persName>
                    <forename type="first">Jérôme</forename>
                    <surname>Boillot</surname>
                  </persName>
                  <email type="md5">990118063ea4db972c6d7c10fdc33e64</email>
                  <email type="domain">gmail.com</email>
                  <idno type="idhal" notation="string">jerome-boillot</idno>
                  <idno type="idhal" notation="numeric">1277374</idno>
                  <idno type="halauthorid" notation="string">2881951-1277374</idno>
                  <idno type="ORCID">https://orcid.org/0009-0001-7286-337X</idno>
                  <affiliation ref="#struct-564132"/>
                  <affiliation ref="#struct-25027"/>
                  <affiliation ref="#struct-441569"/>
                  <affiliation ref="#struct-454318"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Jérôme</forename>
                    <surname>Feret</surname>
                  </persName>
                  <email type="md5">1be6d35ad026450ab59de8bbff481ad5</email>
                  <email type="domain">ens.fr</email>
                  <idno type="idhal" notation="string">jerome-feret</idno>
                  <idno type="idhal" notation="numeric">749591</idno>
                  <idno type="halauthorid" notation="string">371587-749591</idno>
                  <idno type="GOOGLE SCHOLAR">https://scholar.google.fr/citations?user=TcO5mvwAAAAJ&amp;hl=fr</idno>
                  <idno type="ORCID">https://orcid.org/0000-0002-2601-2785</idno>
                  <affiliation ref="#struct-564132"/>
                  <affiliation ref="#struct-25027"/>
                  <affiliation ref="#struct-441569"/>
                  <affiliation ref="#struct-454318"/>
                </author>
              </analytic>
              <monogr>
                <meeting>
                  <title>Static Analysis: 30th International Symposium, SAS 2023</title>
                  <date type="start">2023-10-22</date>
                  <date type="end">2023-10-24</date>
                  <settlement>Cascais</settlement>
                  <country key="PT">Portugal</country>
                </meeting>
                <imprint>
                  <publisher>Springer Nature Switzerland</publisher>
                  <pubPlace>Cham</pubPlace>
                  <biblScope unit="serie">Static Analysis: 30th International Symposium, SAS 2023</biblScope>
                  <biblScope unit="volume">Static Analysis: 30th International Symposium, SAS 2023</biblScope>
                  <biblScope unit="pp">84-113</biblScope>
                  <date type="datePub">2023-10-24</date>
                </imprint>
              </monogr>
              <idno type="doi">10.1007/978-3-031-44245-2_6</idno>
              <ref target="https://doi.org/10.5281/zenodo.8186873" type="seeAlso"/>
            </biblStruct>
          </sourceDesc>
          <profileDesc>
            <langUsage>
              <language ident="en">English</language>
            </langUsage>
            <textClass>
              <keywords scheme="author">
                <term xml:lang="en">Modular Arithmetic</term>
                <term xml:lang="en">Program Transformation</term>
                <term xml:lang="en">Symbolic Propagation</term>
                <term xml:lang="en">Abstract Intepretation</term>
                <term xml:lang="en">Interpolation</term>
              </keywords>
              <classCode scheme="halDomain" n="info">Computer Science [cs]</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>We present symbolic methods to improve the precision of static analyses of modular integer expressions based on Abstract Interpretation. Like similar symbolic methods, the idea is to simplify on-the-fly arithmetic expressions before they are given to abstract transfer functions of underlying abstract domains. When manipulating fixed-length integer data types, casts and overflows generally act like modulo computations which hinder the use of symbolic techniques. The goal of this article is to formalize how modulo operations can be safely eliminated by abstracting arbitrary arithmetic expressions into sum, product, or division of linear forms with integer coefficients, while simplifying them. We provide some rules to simplify arithmetic expressions that are involved in the computation of linear interpolations, while ensuring the soundness of the transformation. All these methods have been incorporated within the Astrée static analyzer that checks for the absence of run-time errors in embedded critical software, but also in an available toy abstract interpreter. The effects of our new abstract domain are then evaluated on several code excerpts from industrial code.</p>
            </abstract>
          </profileDesc>
        </biblFull>
      </listBibl>
    </body>
    <back>
      <listOrg type="structures">
        <org type="regroupinstitution" xml:id="struct-564132" status="VALID">
          <idno type="IdRef">241597595</idno>
          <idno type="ISNI">0000 0004 1784 3645</idno>
          <idno type="ROR">https://ror.org/013cjyk83</idno>
          <orgName>Université Paris Sciences et Lettres</orgName>
          <orgName type="acronym">PSL</orgName>
          <desc>
            <address>
              <addrLine>60 rue Mazarine 75006 Paris</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.psl.eu/</ref>
          </desc>
        </org>
        <org type="regrouplaboratory" xml:id="struct-25027" status="VALID">
          <idno type="IdRef">148034055</idno>
          <idno type="RNSR">199812876J</idno>
          <idno type="ROR">05y6rqs46</idno>
          <orgName>Département d'informatique - ENS-PSL</orgName>
          <orgName type="acronym">DI-ENS</orgName>
          <date type="start">1999-01-01</date>
          <desc>
            <address>
              <addrLine>École normale supérieure 45 rue d'Ulm F-75230 Paris Cedex 05</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.di.ens.fr/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-59704" type="direct"/>
            <relation active="#struct-564132" type="indirect"/>
            <relation active="#struct-300009" type="direct"/>
            <relation name="UMR8548" active="#struct-441569" 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="researchteam" xml:id="struct-454318" status="VALID">
          <idno type="IdRef">242506526</idno>
          <idno type="RNSR">201421111R</idno>
          <idno type="ROR">https://ror.org/02wakmj41</idno>
          <orgName>Analyse Statique par Interprétation Abstraite</orgName>
          <orgName type="acronym">ANTIQUE</orgName>
          <date type="start">2016-01-01</date>
          <date type="end">2027-03-31</date>
          <desc>
            <address>
              <addrLine>45, rue d'Ulm 75230 Paris Cedex 05</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/equipes/antique</ref>
          </desc>
          <listRelation>
            <relation active="#struct-25027" type="direct"/>
            <relation active="#struct-59704" type="indirect"/>
            <relation active="#struct-564132" type="indirect"/>
            <relation active="#struct-300009" type="indirect"/>
            <relation name="UMR8548" active="#struct-441569" type="indirect"/>
            <relation active="#struct-454310" type="direct"/>
          </listRelation>
        </org>
        <org type="institution" xml:id="struct-59704" status="VALID">
          <idno type="IdRef">031738419</idno>
          <idno type="ISNI">0000000123532622</idno>
          <idno type="ROR">https://ror.org/05a0dhs15</idno>
          <orgName>École normale supérieure - Paris</orgName>
          <orgName type="acronym">ENS-PSL</orgName>
          <date type="start">1985-07-24</date>
          <desc>
            <address>
              <addrLine>45, Rue d'Ulm - 75230 Paris cedex 05</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.ens.psl.eu/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-564132" type="direct"/>
          </listRelation>
        </org>
        <org type="institution" xml:id="struct-300009" status="VALID">
          <idno type="ROR">https://ror.org/02kvxyf05</idno>
          <orgName>Institut National de Recherche en Informatique et en Automatique</orgName>
          <orgName type="acronym">Inria</orgName>
          <desc>
            <address>
              <addrLine>Domaine de VoluceauRocquencourt - BP 10578153 Le Chesnay Cedex</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/en/</ref>
          </desc>
        </org>
        <org type="laboratory" xml:id="struct-454310" status="VALID">
          <idno type="IdRef">241614864</idno>
          <idno type="RNSR">196718247G</idno>
          <idno type="ROR">https://ror.org/05eyd5d35</idno>
          <orgName>Centre Inria de Paris</orgName>
          <date type="start">2016-03-10</date>
          <desc>
            <address>
              <addrLine>48 Rue Barrault, 75013 Paris</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/centre/paris</ref>
          </desc>
          <listRelation>
            <relation active="#struct-300009" type="direct"/>
          </listRelation>
        </org>
      </listOrg>
    </back>
  </text>
</TEI>