Abstract Models of Memory Management.

Abstract

Most specifications of garbage collectors concentrate on the low-level algorithmic details of how to find and preserve accessible objects. Often, they focus on bit-level manipulations such as 'scanning stack frames,' 'marking objects,' 'tagging data,' etc. While these details are important in some contexts, they often obscure the more fundamental aspects of memory management: what objects are garbage and why? We develop a series of calculi that are just low-level enough that we can express allocation and garbage collection, yet are sufficiently abstract that we may formally prove the correctness of various memory management strategies. By making the heap of a program syntactically apparent, we can specify memory actions as rewriting rules that allocate values on the heap and automatically dereference pointers to such objects when needed. This formulation permits the specification of garbage collection as a relation that removes portions of the heap without affecting the outcome of the evaluation.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 1995
Accession Number
ADA292238

Entities

People

  • Greg Morrisett
  • Mattias Felleisen
  • Robert Harper

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Abstracts
  • Accumulators
  • Algorithms
  • Calculus
  • Computations
  • Computer Programming
  • Computer Science
  • Computers
  • Conversion
  • Decomposition
  • Demographic Cohorts
  • Environment
  • Instructions
  • Language
  • Programming Languages
  • Software Development
  • Specifications

Fields of Study

  • Computer science
  • Engineering

Readers

  • Computational Linguistics
  • Systems Analysis and Design