Cyclone:  Safe Programming at the C Level of Abstraction

Daniel Grossman, Ph.D. Candidate
Cornell University

March 14, 2003
11 a.m. - 12:30 p.m.
Fuller Labs 320

Abstract

Memory safety and type safety are invaluable features for constructing robust software. However, most safe languages are at a high level of abstraction; programmers cede almost all control over data representation and memory management. This control is one reason C remains the de facto standard for writing systems software or extending legacy systems already written in C. The Cyclone project aims to bring safety to C-style programming without sacrificing the programmer control necessary for low-level software.

To do so, we employ a variety of techniques including an advanced type system, flow analysis, run-time checks, and modern language features. This presentation will focus primarily on how a novel type system can use a small set of techniques to allow safe multithreading and limited manual memory management without requiring unnecessary code duplication. A formal abstract machine that captures the interesting aspects of the type system lets us prove a type- soundness theorem that helps validate Cyclone's design. Empirical evidence suggests that Cyclone is useful for C-level tasks and that user control over data representation and run-time checks can improve application performance.

Host

Prof. Micha Hofri

Refreshments will be served in Fuller Labs 320 beginning at 10:50 a.m.

Maintained by webmaster@wpi.edu
Last modified: Sep 27, 2006, 16:05 EDT
[WPI] [Home] [Back] [Top]