<?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-01551447v2</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-20T02:24:43+02:00"/>
      </publicationStmt>
      <sourceDesc>
        <p part="N">HAL API Platform</p>
      </sourceDesc>
    </fileDesc>
  </teiHeader>
  <text>
    <body>
      <listBibl>
        <biblFull>
          <titleStmt>
            <title xml:lang="en">Combining Forward and Backward Abstract Interpretation of Horn Clauses</title>
            <author role="aut">
              <persName>
                <forename type="first">Alexey</forename>
                <surname>Bakhirkin</surname>
              </persName>
              <idno type="halauthorid">1190775-0</idno>
              <affiliation ref="#struct-1041816"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">David</forename>
                <surname>Monniaux</surname>
              </persName>
              <email type="md5">ceebaa21abca18130dac66c12ab347bf</email>
              <email type="domain">univ-grenoble-alpes.fr</email>
              <ptr type="url" target="https://www-verimag.imag.fr/~monniaux/"/>
              <idno type="idhal" notation="string">david-monniaux</idno>
              <idno type="idhal" notation="numeric">9093</idno>
              <idno type="halauthorid" notation="string">2535-9093</idno>
              <idno type="IDREF">https://www.idref.fr/070681600</idno>
              <idno type="ORCID">https://orcid.org/0000-0001-7671-6126</idno>
              <affiliation ref="#struct-1041816"/>
            </author>
            <editor role="depositor">
              <persName>
                <forename>Alexey</forename>
                <surname>Bakhirkin</surname>
              </persName>
              <email type="md5">565290baf7f55e65e89b5b9368552b9d</email>
              <email type="domain">gmail.com</email>
            </editor>
            <funder ref="#projeurop-95716"/>
          </titleStmt>
          <editionStmt>
            <edition n="v1">
              <date type="whenSubmitted">2017-06-30 11:46:24</date>
            </edition>
            <edition n="v2" type="current">
              <date type="whenSubmitted">2017-07-26 20:09:35</date>
              <date type="whenWritten">2017-06-29</date>
              <date type="whenModified">2025-09-27 18:58:07</date>
              <date type="whenReleased">2017-08-07 16:19:00</date>
              <date type="whenProduced">2017-08-30</date>
              <date type="whenEndEmbargoed">2017-07-26</date>
              <ref type="file" target="https://hal.science/hal-01551447v2/document">
                <date notBefore="2017-07-26"/>
              </ref>
              <ref type="file" subtype="author" n="1" target="https://hal.science/hal-01551447v2/file/sas17.pdf" id="file-1565603-1622492">
                <date notBefore="2017-07-26"/>
              </ref>
              <ref type="externalLink" target="http://arxiv.org/pdf/1707.01277"/>
            </edition>
            <respStmt>
              <resp>contributor</resp>
              <name key="539004">
                <persName>
                  <forename>Alexey</forename>
                  <surname>Bakhirkin</surname>
                </persName>
                <email type="md5">565290baf7f55e65e89b5b9368552b9d</email>
                <email type="domain">gmail.com</email>
              </name>
            </respStmt>
          </editionStmt>
          <publicationStmt>
            <distributor>CCSD</distributor>
            <idno type="halId">hal-01551447</idno>
            <idno type="halUri">https://hal.science/hal-01551447</idno>
            <idno type="halBibtex">bakhirkin:hal-01551447</idno>
            <idno type="halRefHtml">&lt;i&gt;24th International Static Analysis Symposium (SAS)&lt;/i&gt;, Francesco Ranzato; Patrick Cousot, Aug 2017, New York City, United States. &lt;a target="_blank" href="https://dx.doi.org/10.1007/978-3-319-66706-5_2"&gt;&amp;#x27E8;10.1007/978-3-319-66706-5_2&amp;#x27E9;&lt;/a&gt;</idno>
            <idno type="halRef">24th International Static Analysis Symposium (SAS), Francesco Ranzato; Patrick Cousot, Aug 2017, New York City, United States. &amp;#x27E8;10.1007/978-3-319-66706-5_2&amp;#x27E9;</idno>
            <availability status="restricted">
              <licence target="https://about.hal.science/hal-authorisation-v1/">HAL Authorization<ref corresp="#file-1565603-1622492"/></licence>
            </availability>
          </publicationStmt>
          <seriesStmt>
            <idno type="stamp" n="UGA">HAL Grenoble Alpes</idno>
            <idno type="stamp" n="IMAG">IMAG</idno>
            <idno type="stamp" n="CNRS">CNRS - Centre national de la recherche scientifique</idno>
            <idno type="stamp" n="INPG">Institut polytechnique de Grenoble</idno>
            <idno type="stamp" n="OPENAIRE">OpenAIRE</idno>
            <idno type="stamp" n="VERIMAG">VERIMAG</idno>
            <idno type="stamp" n="UGA-COMUE">Université Grenoble Alpes [2016-2019]</idno>
            <idno type="stamp" n="TEST-UGA">TEST-UGA</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">Combining Forward and Backward Abstract Interpretation of Horn Clauses</title>
                <author role="aut">
                  <persName>
                    <forename type="first">Alexey</forename>
                    <surname>Bakhirkin</surname>
                  </persName>
                  <idno type="halauthorid">1190775-0</idno>
                  <affiliation ref="#struct-1041816"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">David</forename>
                    <surname>Monniaux</surname>
                  </persName>
                  <email type="md5">ceebaa21abca18130dac66c12ab347bf</email>
                  <email type="domain">univ-grenoble-alpes.fr</email>
                  <ptr type="url" target="https://www-verimag.imag.fr/~monniaux/"/>
                  <idno type="idhal" notation="string">david-monniaux</idno>
                  <idno type="idhal" notation="numeric">9093</idno>
                  <idno type="halauthorid" notation="string">2535-9093</idno>
                  <idno type="IDREF">https://www.idref.fr/070681600</idno>
                  <idno type="ORCID">https://orcid.org/0000-0001-7671-6126</idno>
                  <affiliation ref="#struct-1041816"/>
                </author>
              </analytic>
              <monogr>
                <meeting>
                  <title>24th International Static Analysis Symposium (SAS)</title>
                  <date type="start">2017-08-30</date>
                  <date type="end">2017-09-01</date>
                  <settlement>New York City</settlement>
                  <country key="US">United States</country>
                </meeting>
                <respStmt>
                  <resp>conferenceOrganizer</resp>
                  <name>Francesco Ranzato</name>
                  <name>Patrick Cousot</name>
                </respStmt>
                <editor>Francesco Ranzato</editor>
                <imprint>
                  <publisher>Springer</publisher>
                  <biblScope unit="serie">Static Analysis</biblScope>
                </imprint>
              </monogr>
              <idno type="arxiv">1707.01277</idno>
              <idno type="doi">10.1007/978-3-319-66706-5_2</idno>
              <ref type="publisher">http://staticanalysis.org/sas2017/sas2017.html</ref>
            </biblStruct>
          </sourceDesc>
          <profileDesc>
            <langUsage>
              <language ident="en">English</language>
            </langUsage>
            <textClass>
              <keywords scheme="author">
                <term xml:lang="en">Horn clauses</term>
                <term xml:lang="en">Static analysis of programs</term>
              </keywords>
              <classCode scheme="halDomain" n="info.info-pl">Computer Science [cs]/Programming Languages [cs.PL]</classCode>
              <classCode scheme="halDomain" n="info.info-lo">Computer Science [cs]/Logic in Computer Science [cs.LO]</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>Alternation of forward and backward analyses is a standard technique in abstract interpretation of programs, which is in particular useful when we wish to prove unreachability of some undesired program states. The current state-of-the-art technique for combining forward (bottom-up, in logic programming terms) and backward (top-down) abstract interpretation of Horn clauses is query-answer transformation. It transforms a system of Horn clauses, such that standard forward analysis can propagate constraints both forward, and backward from a goal. Query-answer transformation is effective, but has issues that we wish to address. For that, we introduce a new backward collecting semantics, which is suitable for alternating forward and backward abstract interpretation of Horn clauses. We show how the alternation can be used to prove unreachability of the goal and how every subsequent run of an analysis yields a refined model of the system. Experimentally, we observe that combining forward and backward analyses is important for analysing systems that encode questions about reachability in C programs. In particular, the combination that follows our new semantics improves the precision of our own abstract interpreter, including when compared to a forward analysis of a query-answer-transformed system.</p>
            </abstract>
          </profileDesc>
        </biblFull>
      </listBibl>
    </body>
    <back>
      <listOrg type="structures">
        <org type="laboratory" xml:id="struct-1041816" status="OLD">
          <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">2016-01-01</date>
          <date type="end">2019-12-31</date>
          <desc>
            <address>
              <addrLine>VerimagBâtiment IMAGUniversité Grenoble Alpes700, avenue centrale38401 Saint Martin d’Hères</addrLine>
              <country key="FR"/>
            </address>
          </desc>
          <listRelation>
            <relation active="#struct-89889" type="direct"/>
            <relation name="UMR5104" active="#struct-441569" type="direct"/>
            <relation active="#struct-445543" type="direct"/>
          </listRelation>
        </org>
        <org type="institution" xml:id="struct-89889" status="OLD">
          <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">2007-01-01</date>
          <date type="end">2019-12-31</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>
        </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-445543" status="OLD">
          <idno type="IdRef">188399275</idno>
          <idno type="ROR">https://ror.org/02rx3b187</idno>
          <orgName>Université Grenoble Alpes [2016-2019]</orgName>
          <orgName type="acronym">UGA [2016-2019]</orgName>
          <date type="start">2016-01-01</date>
          <date type="end">2019-12-31</date>
          <desc>
            <address>
              <addrLine>38058 Grenoble cedex</addrLine>
              <country key="FR"/>
            </address>
          </desc>
        </org>
      </listOrg>
      <listOrg type="projects">
        <org type="europeanProject" xml:id="projeurop-95716" status="VALID">
          <idno type="number">306595</idno>
          <idno type="program">ERC-2012-StG_20111012</idno>
          <idno type="call">ERC-2012-StG_20111012</idno>
          <orgName>STATOR</orgName>
          <desc>STATic analysis with ORiginal methods</desc>
          <date type="start">2013-01-01</date>
          <date type="end">2018-12-31</date>
        </org>
      </listOrg>
    </back>
  </text>
</TEI>