<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//TaxonX//DTD Taxonomic Treatment Publishing DTD v0 20100105//EN" "../../nlm/tax-treatment-NS0.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:tp="http://www.plazi.org/taxpub" article-type="research-article" dtd-version="3.0" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">109</journal-id>
      <journal-id journal-id-type="index">urn:lsid:arphahub.com:pub:3dc5f44e-8666-58db-bc76-a455210e8891</journal-id>
      <journal-title-group>
        <journal-title xml:lang="en">JUCS - Journal of Universal Computer Science</journal-title>
        <abbrev-journal-title xml:lang="en">jucs</abbrev-journal-title>
      </journal-title-group>
      <issn pub-type="ppub">0948-695X</issn>
      <issn pub-type="epub">0948-6968</issn>
      <publisher>
        <publisher-name>Journal of Universal Computer Science</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.3217/jucs-009-03-0248</article-id>
      <article-id pub-id-type="publisher-id">28004</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>Research Article</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>An Automatic Verification Technique for Loop and Data Reuse Transformations based on Geometric Modeling of Programs</article-title>
      </title-group>
      <contrib-group content-type="authors">
        <contrib contrib-type="author" corresp="yes">
          <name name-style="western">
            <surname>Shashidhar</surname>
            <given-names>K. C.</given-names>
          </name>
          <email xlink:type="simple">kodambal@imec.be</email>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Bruynooghe</surname>
            <given-names>Maurice</given-names>
          </name>
          <xref ref-type="aff" rid="A2">2</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Catthoor</surname>
            <given-names>Francky</given-names>
          </name>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Janssens</surname>
            <given-names>Gerda</given-names>
          </name>
          <xref ref-type="aff" rid="A2">2</xref>
        </contrib>
      </contrib-group>
      <aff id="A1">
        <label>1</label>
        <addr-line content-type="verbatim">DESICS Division, IMEC vzw, Kapeldreef 75, B-3001 Heverlee, and Department of Computer Science, Katholieke Universiteit Leuven, , Belgium</addr-line>
        <institution>DESICS Division, IMEC vzw, Kapeldreef 75, B-3001 Heverlee, and Department of Computer Science, Katholieke Universiteit Leuven</institution>
        <country>Belgium</country>
      </aff>
      <aff id="A2">
        <label>2</label>
        <addr-line content-type="verbatim">Department of Computer Science, Katholieke Universiteit Leuven, Katholieke Universiteit Leuven, Belgium</addr-line>
        <institution>Department of Computer Science, Katholieke Universiteit Leuven</institution>
        <addr-line content-type="city">Katholieke Universiteit Leuven</addr-line>
        <country>Belgium</country>
      </aff>
      <author-notes>
        <fn fn-type="corresp">
          <p>Corresponding author: K. C. Shashidhar (<email xlink:type="simple">kodambal@imec.be</email>).</p>
        </fn>
        <fn fn-type="edited-by">
          <p>Academic editor: </p>
        </fn>
      </author-notes>
      <pub-date pub-type="collection">
        <year>2003</year>
      </pub-date>
      <pub-date pub-type="epub">
        <day>28</day>
        <month>03</month>
        <year>2003</year>
      </pub-date>
      <volume>9</volume>
      <issue>3</issue>
      <fpage>248</fpage>
      <lpage>269</lpage>
      <uri content-type="arpha" xlink:href="http://openbiodiv.net/36DCD140-C1E4-5BBA-A098-D8B3776C2E38">36DCD140-C1E4-5BBA-A098-D8B3776C2E38</uri>
      <uri content-type="zenodo_dep_id" xlink:href="https://zenodo.org/record/6996290">6996290</uri>
      <permissions>
        <copyright-statement>K. C. Shashidhar, Maurice Bruynooghe, Francky Catthoor, Gerda Janssens</copyright-statement>
        <license license-type="creative-commons-attribution" xlink:href="" xlink:type="simple">
          <license-p>This article is freely available under the J.UCS Open Content License.</license-p>
        </license>
      </permissions>
      <abstract>
        <label>Abstract</label>
        <p>Optimizing programs by applying source-to-source transformations is a prevalent practice among programmers. Particularly so, while programming for high-performance and cost-effective embedded systems, where the initial program is subject to a series of transformations to optimize computation and communication. In the context of parallelization and custom memory design, such transformations are applied on the loop structures and index expressions of array variables in the program, more often manually than with a tool, leading to the non-trivial problem of checking their correctness. Applied transformations are semantics preserving if the transformed program is functionally equivalent to the initial program from the input-output point of view. In this work we present an automatic technique based on geometric modeling to formally check the functional equivalence of initial and transformed programs under loop and data reuse transformations. The verification is transformation oblivious needing no information either about the particular transformations that have been applied or the order in which they have been applied. Our technique also provides useful diagnostics to locate the detected errors.</p>
      </abstract>
    </article-meta>
  </front>
</article>
