Alias burying: Unique variables without destructive reads

by John Boyland.

Abstract

(SP&E copyright rules forbid me from posting the abstract. Here is instead a summary.)

Several researchers have proposed extending programming languages to express the concept of a unique or linear variable. Such a variable is either empty or else its value is the sole reference to an unshared object. Being able to declare which variables are expected to be unique and to have these declarations checked can make code more understandable and maintainable.

Previous proposals for unique variables have required extending a programming language with destructive reads or some other mechanism. Here we show how a program using regular reads and writes can be checked that it upholds uniqueness. This paper proposes an alternate check for uniqueness, alias burying: when a unique field is read, any existing aliases are required to be dead. We describe a static analysis can be carried out on a single procedure/method at a time.

BibTeX Style Reference

@article(boyland:01unique,
  author =      {John Boyland},
  title =       {Alias burying: Unique variables without destructive reads},
  journal = 	{Software---Practice and Experience},
  year = 	2001,
  volume = 	31,
  number = 	6,
  month = 	may,
  pages = 	{533--553},
  nothing =	{})

How to Get a Copy

The actual abstract is available for view via the web page for the journal issue. The full text of the article is available for paying subscribers from the same page.

A preprint is available for personal or professional use. This is a preprint of the article accepted for publication in Software---Practice and Experience. Copyright 2001 John Wiley & Sons.


Last Modified: March 28, 2001

Alias burying: Unique variables without destructive reads / boyland@cs.uwm.edu