Type-safe multithreading in cyclone

  • Authors:
  • Dan Grossman

  • Affiliations:
  • Cornell University, Ithaca, NY

  • Venue:
  • Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

We extend Cyclone, a type-safe polymorphic language at the C level of abstraction, with threads and locks. Data races can violate type safety in Cyclone. An extended type system statically guarantees their absence by enforcing that thread-shared data is protected via locking and that thread-local data does not escape the thread that creates it. The extensions interact smoothly with parametric polymorphism and region-based memory management. We present a formal abstract machine that models the need to prevent races, a polymorphic type system for the machine that supports thread-local data, and a corresponding type-safety result.