Principled Scavenging

Abstract

Proof-carrying code and typed assembly languages aim to minimize the trusted computing base by directly certifying the actual machine code. Unfortunately, these systems cannot get rid of the dependency on a trusted garbage collector. Indeed, constructing a provably type-safe garbage collector is one of the major open problems in the area of certifying compilation. Building on an idea by Wang and Appel, we present a series of new techniques for writing type-safe stop-and-copy garbage collectors. We show how to use intensional type analysis to capture the contract between the mutator and the collector, and how the same method can be applied to support forwarding pointers and generations. Unlike Wang and Appel (which requires whole-program analysis), our new framework directly supports higher-order functions and is compatible with separate compilation; our collectors are written in provably type-safe languages with rigorous semantics and fully formalized soundness proofs.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Nov 01, 2000
Accession Number
ADA436497

Entities

People

  • Bratin Saha
  • Stefan Monnier
  • Zhong Shao

Organizations

  • Yale University

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Accumulators
  • Assembly
  • Assembly Languages
  • Calculus
  • Compilers
  • Computer Languages
  • Computer Science
  • Contracts
  • Conversion
  • Demographic Cohorts
  • Environment
  • Language
  • Machine Languages
  • Semantics
  • Side Effects
  • Software Development
  • Translations

Fields of Study

  • Computer science

Readers

  • Computational Linguistics
  • Parallel and Distributed Computing.