<?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-02876667</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-25T19:05:33+02:00"/>
      </publicationStmt>
      <sourceDesc>
        <p part="N">HAL API Platform</p>
      </sourceDesc>
    </fileDesc>
  </teiHeader>
  <text>
    <body>
      <listBibl>
        <biblFull>
          <titleStmt>
            <title xml:lang="en">Value and Allocation Sensitivity in Static Python Analyses</title>
            <author role="aut">
              <persName>
                <forename type="first">Raphaël</forename>
                <surname>Monat</surname>
              </persName>
              <email type="md5">8ffd05cb2f0b4ba40a4276290da61d38</email>
              <email type="domain">ens-lyon.org</email>
              <idno type="idhal" notation="string">raphael-monat</idno>
              <idno type="idhal" notation="numeric">13009</idno>
              <idno type="halauthorid" notation="string">26565-13009</idno>
              <idno type="ORCID">https://orcid.org/0000-0001-8487-0326</idno>
              <idno type="IDREF">https://www.idref.fr/259791911</idno>
              <orgName ref="#struct-6818"/>
              <affiliation ref="#struct-541707"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Abdelraouf</forename>
                <surname>Ouadjaout</surname>
              </persName>
              <email type="md5">88071e6e43bfa8cdedf09199c9a4736e</email>
              <email type="domain">lip6.fr</email>
              <idno type="idhal" notation="string">aouadjaout</idno>
              <idno type="idhal" notation="numeric">9404</idno>
              <idno type="halauthorid" notation="string">40114-9404</idno>
              <idno type="ORCID">https://orcid.org/0000-0001-7248-5914</idno>
              <idno type="IDREF">https://www.idref.fr/253126290</idno>
              <affiliation ref="#struct-541707"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Antoine</forename>
                <surname>Miné</surname>
              </persName>
              <email type="md5">df246b594d6d3ee8b9b11b824635b973</email>
              <email type="domain">lip6.fr</email>
              <idno type="idhal" notation="string">antoine-mine</idno>
              <idno type="idhal" notation="numeric">2206</idno>
              <idno type="halauthorid" notation="string">2252-2206</idno>
              <idno type="ORCID">https://orcid.org/0000-0002-6375-3179</idno>
              <idno type="IDREF">https://www.idref.fr/111391636</idno>
              <idno type="ISNI">http://isni.org/isni/0000000356394363</idno>
              <idno type="VIAF">https://viaf.org/viaf/188586588</idno>
              <affiliation ref="#struct-541707"/>
              <affiliation ref="#struct-56663"/>
            </author>
            <editor role="depositor">
              <persName>
                <forename>Raphaël</forename>
                <surname>Monat</surname>
              </persName>
              <email type="md5">8ffd05cb2f0b4ba40a4276290da61d38</email>
              <email type="domain">ens-lyon.org</email>
            </editor>
            <funder ref="#projeurop-710795"/>
          </titleStmt>
          <editionStmt>
            <edition n="v1" type="current">
              <date type="whenSubmitted">2020-06-21 12:25:23</date>
              <date type="whenModified">2024-10-30 13:32:58</date>
              <date type="whenReleased">2020-06-29 10:41:19</date>
              <date type="whenProduced">2020-06-15</date>
              <date type="whenEndEmbargoed">2020-06-29</date>
              <ref type="file" target="https://hal.sorbonne-universite.fr/hal-02876667v1/document">
                <date notBefore="2020-06-29"/>
              </ref>
              <ref type="file" n="1" target="https://hal.sorbonne-universite.fr/hal-02876667v1/file/soap20%20%281%29.pdf" id="file-2876667-2535504">
                <date notBefore="2020-06-29"/>
              </ref>
              <ref type="externalLink" target="https://dl.acm.org/doi/pdf/10.1145/3394451.3397205"/>
            </edition>
            <respStmt>
              <resp>contributor</resp>
              <name key="320267">
                <persName>
                  <forename>Raphaël</forename>
                  <surname>Monat</surname>
                </persName>
                <email type="md5">8ffd05cb2f0b4ba40a4276290da61d38</email>
                <email type="domain">ens-lyon.org</email>
              </name>
            </respStmt>
          </editionStmt>
          <publicationStmt>
            <distributor>CCSD</distributor>
            <idno type="halId">hal-02876667</idno>
            <idno type="halUri">https://hal.sorbonne-universite.fr/hal-02876667</idno>
            <idno type="halBibtex">monat:hal-02876667</idno>
            <idno type="halRefHtml">&lt;i&gt;9th ACM SIGPLAN International Workshop on the State Of the Art in Program Analysis&lt;/i&gt;, Jun 2020, London, United Kingdom. pp.8-13, &lt;a target="_blank" href="https://dx.doi.org/10.1145/3394451.3397205"&gt;&amp;#x27E8;10.1145/3394451.3397205&amp;#x27E9;&lt;/a&gt;</idno>
            <idno type="halRef">9th ACM SIGPLAN International Workshop on the State Of the Art in Program Analysis, Jun 2020, London, United Kingdom. pp.8-13, &amp;#x27E8;10.1145/3394451.3397205&amp;#x27E9;</idno>
            <availability status="restricted">
              <licence target="https://about.hal.science/hal-authorisation-v1/">HAL Authorization<ref corresp="#file-2876667-2535504"/></licence>
            </availability>
          </publicationStmt>
          <seriesStmt>
            <idno type="stamp" n="CNRS">CNRS - Centre national de la recherche scientifique</idno>
            <idno type="stamp" n="OPENAIRE">OpenAIRE</idno>
            <idno type="stamp" n="LIP6" corresp="SORBONNE-UNIVERSITE">Laboratoire d'Informatique de Paris 6</idno>
            <idno type="stamp" n="SORBONNE-UNIVERSITE">Sorbonne Université</idno>
            <idno type="stamp" n="SORBONNE-UNIV" corresp="SORBONNE-UNIVERSITE">Sorbonne Université 01/01/2018</idno>
            <idno type="stamp" n="SU-SCIENCES" corresp="SORBONNE-UNIVERSITE">Faculté des Sciences de Sorbonne Université</idno>
            <idno type="stamp" n="TEST-HALCNRS">Collection test HAL CNRS</idno>
            <idno type="stamp" n="SU-TI">Sorbonne Université - Texte Intégral</idno>
            <idno type="stamp" n="ALLIANCE-SU"> Alliance Sorbonne Université</idno>
            <idno type="stamp" n="SUPRA_MATHS_INFO">Mathématiques + Informatique</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">Value and Allocation Sensitivity in Static Python Analyses</title>
                <author role="aut">
                  <persName>
                    <forename type="first">Raphaël</forename>
                    <surname>Monat</surname>
                  </persName>
                  <email type="md5">8ffd05cb2f0b4ba40a4276290da61d38</email>
                  <email type="domain">ens-lyon.org</email>
                  <idno type="idhal" notation="string">raphael-monat</idno>
                  <idno type="idhal" notation="numeric">13009</idno>
                  <idno type="halauthorid" notation="string">26565-13009</idno>
                  <idno type="ORCID">https://orcid.org/0000-0001-8487-0326</idno>
                  <idno type="IDREF">https://www.idref.fr/259791911</idno>
                  <orgName ref="#struct-6818"/>
                  <affiliation ref="#struct-541707"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Abdelraouf</forename>
                    <surname>Ouadjaout</surname>
                  </persName>
                  <email type="md5">88071e6e43bfa8cdedf09199c9a4736e</email>
                  <email type="domain">lip6.fr</email>
                  <idno type="idhal" notation="string">aouadjaout</idno>
                  <idno type="idhal" notation="numeric">9404</idno>
                  <idno type="halauthorid" notation="string">40114-9404</idno>
                  <idno type="ORCID">https://orcid.org/0000-0001-7248-5914</idno>
                  <idno type="IDREF">https://www.idref.fr/253126290</idno>
                  <affiliation ref="#struct-541707"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Antoine</forename>
                    <surname>Miné</surname>
                  </persName>
                  <email type="md5">df246b594d6d3ee8b9b11b824635b973</email>
                  <email type="domain">lip6.fr</email>
                  <idno type="idhal" notation="string">antoine-mine</idno>
                  <idno type="idhal" notation="numeric">2206</idno>
                  <idno type="halauthorid" notation="string">2252-2206</idno>
                  <idno type="ORCID">https://orcid.org/0000-0002-6375-3179</idno>
                  <idno type="IDREF">https://www.idref.fr/111391636</idno>
                  <idno type="ISNI">http://isni.org/isni/0000000356394363</idno>
                  <idno type="VIAF">https://viaf.org/viaf/188586588</idno>
                  <affiliation ref="#struct-541707"/>
                  <affiliation ref="#struct-56663"/>
                </author>
              </analytic>
              <monogr>
                <title level="m">Proceedings of the 9th ACM SIGPLAN International Workshop on the State Of the Art in Program Analysis</title>
                <meeting>
                  <title>9th ACM SIGPLAN International Workshop on the State Of the Art in Program Analysis</title>
                  <date type="start">2020-06-15</date>
                  <settlement>London</settlement>
                  <country key="GB">United Kingdom</country>
                </meeting>
                <imprint>
                  <publisher>ACM</publisher>
                  <biblScope unit="pp">8-13</biblScope>
                  <date type="datePub">2020-06</date>
                </imprint>
              </monogr>
              <idno type="doi">10.1145/3394451.3397205</idno>
              <ref target="https://rmonat.fr/publication/soap20/" type="seeAlso"/>
            </biblStruct>
          </sourceDesc>
          <profileDesc>
            <langUsage>
              <language ident="en">English</language>
            </langUsage>
            <textClass>
              <keywords scheme="author">
                <term xml:lang="en">program analysis</term>
                <term xml:lang="en">Experimental Evaluation</term>
                <term xml:lang="en">formal methods</term>
                <term xml:lang="en">Static Analysis</term>
                <term xml:lang="en">Abstract Interpretation</term>
                <term xml:lang="en">Dynamic Programming Language</term>
                <term xml:lang="en">Python</term>
                <term xml:lang="en">Recency Abstraction</term>
                <term xml:lang="en">Heap Abstraction</term>
              </keywords>
              <classCode scheme="https://dl.acm.org/ccs" n="ACM2012.F.7.2.4"/>
              <classCode scheme="https://dl.acm.org/ccs" n="ACM2012.E.1.1.1"/>
              <classCode scheme="halDomain" n="info.info-pl">Computer Science [cs]/Programming Languages [cs.PL]</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>Sound static analyses for large subsets of static programming languages such as C are now widespread. For example the Astrée static analyzer soundly overapproximates the behavior of C programs that do not contain any dynamic code loading, longjmp statements nor recursive functions. The sound and precise analysis of widely used dynamic programming languages like JavaScript and Python remains a challenge. This paper examines the variation of static analyses of Python-in precision, time and memory usage-by adapting three parameters: (i) the value sensitivity, (ii) the allocation sensitivity and (iii) the activation of an abstract garbage collector. It is not clear yet which level of sensitivity constitutes a sweet spot in terms of precision versus efficiency to achieve a meaningful Python analysis. We thus perform an experimental evaluation using a prototype static analyzer on benchmarks a few thousand lines long. Key findings are: the value analysis does not improve the precision over type-related alarms; the value analysis is three times costlier than the type analysis; the allocation sensitivity depends on the value sensitivity; using an abstract garbage collector lowers memory usage and running times, but does not affect precision.</p>
            </abstract>
          </profileDesc>
        </biblFull>
      </listBibl>
    </body>
    <back>
      <listOrg type="structures">
        <org type="researchteam" xml:id="struct-541707" status="VALID">
          <orgName>Algorithmes, Programmes et Résolution</orgName>
          <orgName type="acronym">APR</orgName>
          <date type="start">2018-01-01</date>
          <desc>
            <address>
              <country key="FR"/>
            </address>
          </desc>
          <listRelation>
            <relation active="#struct-541703" type="direct"/>
            <relation active="#struct-413221" type="indirect"/>
            <relation name="UMR7606" active="#struct-441569" type="indirect"/>
          </listRelation>
        </org>
        <org type="laboratory" xml:id="struct-56663" status="VALID">
          <idno type="IdRef">03442945X</idno>
          <idno type="ISNI">0000000119314817</idno>
          <idno type="ROR">https://ror.org/055khg266</idno>
          <idno type="Wikidata">Q1665127</idno>
          <orgName>Institut universitaire de France</orgName>
          <orgName type="acronym">IUF</orgName>
          <desc>
            <address>
              <addrLine>Maison des Universités 103 Boulevard Saint-Michel 75005 Paris</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://iuf.amue.fr/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-301855" type="direct"/>
          </listRelation>
        </org>
        <org type="laboratory" xml:id="struct-541703" status="VALID">
          <idno type="IdRef">13558292X</idno>
          <idno type="RNSR">199712651U</idno>
          <idno type="ROR">https://ror.org/05krcen59</idno>
          <orgName>LIP6</orgName>
          <date type="start">2018-01-01</date>
          <desc>
            <address>
              <addrLine>4 Place JUSSIEU 75252 PARIS CEDEX 05</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.lip6.fr/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-413221" type="direct"/>
            <relation name="UMR7606" active="#struct-441569" type="direct"/>
          </listRelation>
        </org>
        <org type="regroupinstitution" xml:id="struct-413221" status="VALID">
          <idno type="IdRef">221333754</idno>
          <idno type="ROR">https://ror.org/02en5vm52</idno>
          <orgName>Sorbonne Université</orgName>
          <orgName type="acronym">SU</orgName>
          <date type="start">2018-01-01</date>
          <desc>
            <address>
              <addrLine>21 rue de l’École de médecine - 75006 Paris</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.sorbonne-universite.fr/</ref>
          </desc>
        </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="institution" xml:id="struct-301855" status="VALID">
          <orgName>Ministère de l'Education nationale, de l’Enseignement supérieur et de la Recherche</orgName>
          <orgName type="acronym">M.E.N.E.S.R.</orgName>
          <desc>
            <address>
              <addrLine>1 rue Descartes - 75231 Paris cedex 05</addrLine>
              <country key="FR"/>
            </address>
          </desc>
        </org>
      </listOrg>
      <listOrg type="projects">
        <org type="europeanProject" xml:id="projeurop-710795" status="VALID">
          <idno type="number">681393</idno>
          <idno type="program">ERC-2015-CoG</idno>
          <idno type="call">ERC-2015-CoG</idno>
          <orgName>MOPSA</orgName>
          <desc>Modular Open Platform for Static Analysis</desc>
          <date type="start">2016-06-01</date>
          <date type="end">2021-11-30</date>
        </org>
      </listOrg>
    </back>
  </text>
</TEI>