<?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-013-08-1047</article-id>
      <article-id pub-id-type="publisher-id">28836</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>Research Article</subject>
        </subj-group>
        <subj-group subj-group-type="scientific_subject">
          <subject>D.2.m - Miscellaneous</subject>
          <subject>D.3.3 - Language Constructs and Features</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>Improving Program Correctness with Atomic Exception Handling</article-title>
      </title-group>
      <contrib-group content-type="authors">
        <contrib contrib-type="author" corresp="yes">
          <name name-style="western">
            <surname>Fetzer</surname>
            <given-names>Christof</given-names>
          </name>
          <email xlink:type="simple">christof.fetzer@tu-dresden.de</email>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Felber</surname>
            <given-names>Pascal</given-names>
          </name>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
      </contrib-group>
      <aff id="A2">
        <label>2</label>
        <addr-line content-type="verbatim">, , </addr-line>
      </aff>
      <aff id="A1">
        <label>1</label>
        <addr-line content-type="verbatim">University of Neuchâtel, Neuchâtel, Switzerland</addr-line>
        <institution>University of Neuchâtel</institution>
        <addr-line content-type="city">Neuchâtel</addr-line>
        <country>Switzerland</country>
      </aff>
      <author-notes>
        <fn fn-type="corresp">
          <p>Corresponding author: Christof Fetzer (<email xlink:type="simple">christof.fetzer@tu-dresden.de</email>).</p>
        </fn>
        <fn fn-type="edited-by">
          <p>Academic editor: </p>
        </fn>
      </author-notes>
      <pub-date pub-type="collection">
        <year>2007</year>
      </pub-date>
      <pub-date pub-type="epub">
        <day>28</day>
        <month>08</month>
        <year>2007</year>
      </pub-date>
      <volume>13</volume>
      <issue>8</issue>
      <fpage>1047</fpage>
      <lpage>1072</lpage>
      <uri content-type="arpha" xlink:href="http://openbiodiv.net/8A4C9F88-0F50-5B9A-9E24-3739C6F40BFF">8A4C9F88-0F50-5B9A-9E24-3739C6F40BFF</uri>
      <uri content-type="zenodo_dep_id" xlink:href="https://zenodo.org/record/6999898">6999898</uri>
      <permissions>
        <copyright-statement>Christof Fetzer, Pascal Felber</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>Exception handling is a powerful mechanisms for dealing with failures at runtime. It simplifies the development of robust programs by allowing the programmer to implement recovery actions and tolerate non-fatal errors. Yet, exception handling is difficult to get right! The complexity of correct exception handling is a major cause for incorrect exception handling. It is therefore important to reduce the complexity of writing exception handling code while, at the same time, making sure it is correct. Our approach is to use atomic blocks for exception handling combined with optional compensation actions.</p>
      </abstract>
    </article-meta>
  </front>
</article>
