Memory Management with Use-Counted Regions

Abstract

We introduce a new region-based memory management technique that allows flexible memory usage patterns and is provably safe. Our technique is explicit and manual like C's malloc and free, and it allows programmers to exert a similar degree of control over the program behavior. Our method is quite simple in spite of this expressiveness and safety. We apply the technique to a small functional language to formally describe the core concepts, prove its safety, and argue its usability and efficiency analytically. In particular, we show that the system can efficiently encode more rigid, traditional regions whose lifetime is bounded by that of a stack frame. We also show that the technique works nicely with multi-threaded and imperative programs.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Mar 01, 2004
Accession Number
ADA603317

Entities

People

  • Alex Aiken
  • Tachio Terauchi

Organizations

  • University of California, Berkeley

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Coding
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Counting Methods
  • Environment
  • Guarantees
  • High Level Languages
  • Human Factors Engineering
  • Hypotheses
  • Inspection
  • Language
  • Lists (Data Structures)
  • Notation
  • Programming Languages
  • Semantics

Fields of Study

  • Computer science

Readers

  • Applied Combinatorial Optimization and Logic Circuit Design.
  • Parallel and Distributed Computing.
  • Systems Analysis and Design