<?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-011-07-1198</article-id>
      <article-id pub-id-type="publisher-id">28441</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.3.3 - Language Constructs and Features</subject>
          <subject>D.4.2 - Storage Management</subject>
          <subject>F.3.2 - Semantics of Programming Languages</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>A Formal Semantics for Finalizers</article-title>
      </title-group>
      <contrib-group content-type="authors">
        <contrib contrib-type="author" corresp="yes">
          <name name-style="western">
            <surname>Leal</surname>
            <given-names>Marcus Amorim</given-names>
          </name>
          <email xlink:type="simple">mleal@inf.puc-rio.br</email>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Ierusalimschy</surname>
            <given-names>Roberto</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">PUC-Rio, , Brazil</addr-line>
        <institution>PUC-Rio</institution>
        <country>Brazil</country>
      </aff>
      <aff id="A2">
        <label>2</label>
        <addr-line content-type="verbatim">PUC-Rio, Rio de Janeiro, Brazil</addr-line>
        <institution>PUC-Rio</institution>
        <addr-line content-type="city">Rio de Janeiro</addr-line>
        <country>Brazil</country>
      </aff>
      <author-notes>
        <fn fn-type="corresp">
          <p>Corresponding author: Marcus Amorim Leal (<email xlink:type="simple">mleal@inf.puc-rio.br</email>).</p>
        </fn>
        <fn fn-type="edited-by">
          <p>Academic editor: </p>
        </fn>
      </author-notes>
      <pub-date pub-type="collection">
        <year>2005</year>
      </pub-date>
      <pub-date pub-type="epub">
        <day>28</day>
        <month>07</month>
        <year>2005</year>
      </pub-date>
      <volume>11</volume>
      <issue>7</issue>
      <fpage>1198</fpage>
      <lpage>1214</lpage>
      <uri content-type="arpha" xlink:href="http://openbiodiv.net/A2C87B13-5499-5AE2-8BB9-6DB1EE3516A2">A2C87B13-5499-5AE2-8BB9-6DB1EE3516A2</uri>
      <uri content-type="zenodo_dep_id" xlink:href="https://zenodo.org/record/6996807">6996807</uri>
      <permissions>
        <copyright-statement>Marcus Amorim Leal, Roberto Ierusalimschy</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>Automatic finalization is a common but inherently complex language facility that makes the garbage collection process semantically visible to client programs. With finalizers, memory management becomes more flexible, and garbage collectors can be used to recycle other resources in addition to memory.  Formal language models usually ignore garbage collection, and therefore are unable to properly describe finalization. In this paper we use an operational approach to develop a new abstract model that explicitly represents memory management actions in a garbage­collected programming language based on the λ­calculus. We formally state and prove several important properties related to memory management, and employ the model to describe and explore a semantics for finalizers.</p>
      </abstract>
    </article-meta>
  </front>
</article>
