Published July 28, 2005 | Version v1
Journal article Open

A Formal Semantics for Finalizers

  • 1. PUC-Rio, Brazil
  • 2. PUC-Rio, Rio de Janeiro, Brazil

Description

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.

Files

jucs_article_28441.pdf

Files (187.4 kB)

Name Size Download all
md5:78e225ab5e40d928a7d98ff74d2accb7
187.4 kB Preview Download