<?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-03694546</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-19T09:16:20+02:00"/>
      </publicationStmt>
      <sourceDesc>
        <p part="N">HAL API Platform</p>
      </sourceDesc>
    </fileDesc>
  </teiHeader>
  <text>
    <body>
      <listBibl>
        <biblFull>
          <titleStmt>
            <title xml:lang="en">Static Data and Control Coupling Analysis</title>
            <author role="aut">
              <persName>
                <forename type="first">Daniel</forename>
                <surname>Kästner</surname>
              </persName>
              <email type="md5">6c24aebfb816fe768f0df8a97fe9e5ef</email>
              <email type="domain">absint.com</email>
              <idno type="idhal" notation="numeric">1052201</idno>
              <idno type="halauthorid" notation="string">499063-1052201</idno>
              <affiliation ref="#struct-1099114"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Laurent</forename>
                <surname>Mauborgne</surname>
              </persName>
              <idno type="halauthorid">152960-0</idno>
              <affiliation ref="#struct-1099114"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Stephan</forename>
                <surname>Wilhelm</surname>
              </persName>
              <idno type="halauthorid">179203-0</idno>
              <affiliation ref="#struct-1099114"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Christoph</forename>
                <surname>Mallon</surname>
              </persName>
              <idno type="halauthorid">2523272-0</idno>
              <affiliation ref="#struct-1099114"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Christian</forename>
                <surname>Ferdinand</surname>
              </persName>
              <idno type="halauthorid">170501-0</idno>
              <affiliation ref="#struct-1099114"/>
            </author>
            <editor role="depositor">
              <persName>
                <forename>Daniel</forename>
                <surname>Kästner</surname>
              </persName>
              <email type="md5">6c24aebfb816fe768f0df8a97fe9e5ef</email>
              <email type="domain">absint.com</email>
            </editor>
          </titleStmt>
          <editionStmt>
            <edition n="v1" type="current">
              <date type="whenSubmitted">2022-06-13 17:38:45</date>
              <date type="whenModified">2022-06-21 03:48:37</date>
              <date type="whenReleased">2022-06-20 15:11:07</date>
              <date type="whenProduced">2022-06-01</date>
              <date type="whenEndEmbargoed">2022-06-13</date>
              <ref type="file" target="https://hal.science/hal-03694546v1/document">
                <date notBefore="2022-06-13"/>
              </ref>
              <ref type="file" subtype="author" n="1" target="https://hal.science/hal-03694546v1/file/erts2022_coupling.pdf" id="file-3694546-3231697">
                <date notBefore="2022-06-13"/>
              </ref>
            </edition>
            <respStmt>
              <resp>contributor</resp>
              <name key="332641">
                <persName>
                  <forename>Daniel</forename>
                  <surname>Kästner</surname>
                </persName>
                <email type="md5">6c24aebfb816fe768f0df8a97fe9e5ef</email>
                <email type="domain">absint.com</email>
              </name>
            </respStmt>
          </editionStmt>
          <publicationStmt>
            <distributor>CCSD</distributor>
            <idno type="halId">hal-03694546</idno>
            <idno type="halUri">https://hal.science/hal-03694546</idno>
            <idno type="halBibtex">kastner:hal-03694546</idno>
            <idno type="halRefHtml">&lt;i&gt;11th Embedded Real Time Systems European Congress (ERTS2022)&lt;/i&gt;, Jun 2022, Toulouse, France</idno>
            <idno type="halRef">11th Embedded Real Time Systems European Congress (ERTS2022), Jun 2022, Toulouse, France</idno>
            <availability status="restricted">
              <licence target="https://about.hal.science/hal-authorisation-v1/">HAL Authorization<ref corresp="#file-3694546-3231697"/></licence>
            </availability>
          </publicationStmt>
          <seriesStmt>
            <idno type="stamp" n="ERTS2022">Proceeding of the 11th European Congress on Embedded Real Time Systems</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="0">No</note>
          </notesStmt>
          <sourceDesc>
            <biblStruct>
              <analytic>
                <title xml:lang="en">Static Data and Control Coupling Analysis</title>
                <author role="aut">
                  <persName>
                    <forename type="first">Daniel</forename>
                    <surname>Kästner</surname>
                  </persName>
                  <email type="md5">6c24aebfb816fe768f0df8a97fe9e5ef</email>
                  <email type="domain">absint.com</email>
                  <idno type="idhal" notation="numeric">1052201</idno>
                  <idno type="halauthorid" notation="string">499063-1052201</idno>
                  <affiliation ref="#struct-1099114"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Laurent</forename>
                    <surname>Mauborgne</surname>
                  </persName>
                  <idno type="halauthorid">152960-0</idno>
                  <affiliation ref="#struct-1099114"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Stephan</forename>
                    <surname>Wilhelm</surname>
                  </persName>
                  <idno type="halauthorid">179203-0</idno>
                  <affiliation ref="#struct-1099114"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Christoph</forename>
                    <surname>Mallon</surname>
                  </persName>
                  <idno type="halauthorid">2523272-0</idno>
                  <affiliation ref="#struct-1099114"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Christian</forename>
                    <surname>Ferdinand</surname>
                  </persName>
                  <idno type="halauthorid">170501-0</idno>
                  <affiliation ref="#struct-1099114"/>
                </author>
              </analytic>
              <monogr>
                <meeting>
                  <title>11th Embedded Real Time Systems European Congress (ERTS2022)</title>
                  <date type="start">2022-06-01</date>
                  <date type="end">2022-06-02</date>
                  <settlement>Toulouse</settlement>
                  <country key="FR">France</country>
                </meeting>
                <imprint/>
              </monogr>
              <ref type="publisher">https://www.erts2022.org/</ref>
            </biblStruct>
          </sourceDesc>
          <profileDesc>
            <langUsage>
              <language ident="en">English</language>
            </langUsage>
            <textClass>
              <keywords scheme="author">
                <term xml:lang="en">data coupling</term>
                <term xml:lang="en">control coupling</term>
                <term xml:lang="en">DO-178C</term>
                <term xml:lang="en">static analysis</term>
                <term xml:lang="en">taint analysis</term>
                <term xml:lang="en">program slicing</term>
                <term xml:lang="en">abstract interpretation</term>
                <term xml:lang="en">interference analysis</term>
                <term xml:lang="en">software architecture</term>
              </keywords>
              <classCode scheme="halDomain" n="info.info-es">Computer Science [cs]/Embedded Systems</classCode>
              <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>All current safety norms require determining the data and control flow in the source code and making sure that it is compliant to the intended control and data flow as defined in the software architecture. In traditional static code analysis, data accesses via pointer variables and control flow by function pointer calls might be missed. Using sound static analysis based on abstract interpretation, it is possible to guarantee the absence of runtime errors that could cause memory corruption and control flow corruption. Furthermore, it is possible to guarantee that in the analysis, all data and function pointer targets are considered and that the possible data and control coupling is fully captured. In this article we propose a comprehensive methodology for statically computing a safe approximation of the data and control coupling between software components. Our approach incorporates global static data and control flow analysis, taint analysis and program slicing. It can detect critical data and control flow errors and allows to complement traditional code coverage criteria by the degree of data and control coupling covered by the testing process, helping to identify relevant previously untested scenarios. It can also demonstrate freedom of spacial interference between software components at the source code level.</p>
            </abstract>
          </profileDesc>
        </biblFull>
      </listBibl>
    </body>
    <back>
      <listOrg type="structures">
        <org type="institution" xml:id="struct-1099114" status="INCOMING">
          <orgName>AbsInt Angewandte Informatik GmbH</orgName>
          <desc>
            <address>
              <addrLine>Saarbrucken</addrLine>
              <country key="DE"/>
            </address>
            <ref type="url">https://www.absint.com/</ref>
          </desc>
        </org>
      </listOrg>
    </back>
  </text>
</TEI>