This page has moved to https://cyclone.thelanguage.org/. This page is kept for archival purposes only.


 
A Safe Dialect of C

Download! Cyclone Version 0.3 (4.9MB, 18 Apr 2002)

Read! the documentation (download)

Join! Cyclone mailing lists or send comments

Cyclone is mirrored at Cornell and AT&T Labs Research.

Synopsis

Cyclone is a programming language based on C that is safe, meaning that it rules out programs that have buffer overflows, dangling pointers, format string attacks, and so on. High-level, type-safe languages, such as Java, Scheme, or ML also provide safety, but they don't give the same control over data representations and memory management that C does (witness the fact that the run-time systems for these languages are usually written in C.) Furthermore, porting legacy C code to these languages or interfacing with legacy C libraries is a difficult and error-prone process. The goal of Cyclone is to give programmers the same low-level control and performance of C without sacrificing safety, and to make it easy to port or interface with legacy C code.

Cyclone achieves safety while remaining compatible with C by:

Cyclone also provides modern features for convenient programming:

Software Distribution

The Cyclone compiler and tools, as well as some benchmark programs, are freely available for download.

System Requirements:

Licensing: The files in the distribution come from a variety of sources and so come under a variety of licenses. Please see each file and directory for its licensing terms.

Download Cyclone version 0.3 Download Cyclone documentation
Download Benchmarks version 0.3

Papers

Cyclone: A Safe Dialect of C, Trevor Jim, Greg Morrisett, Dan Grossman, Michael Hicks, James Cheney, and Yanling Wang.  USENIX Annual Technical Conference, Monterey, CA, June 2002. To appear. 
PS PDF DVI

Region-based Memory Management in Cyclone, Dan Grossman, Greg Morrisett, Trevor Jim, Michael Hicks, Yanling Wang, and James Cheney.  ACM Conference on Programming Language Design and Implementation, Berlin, Germany, June, 2002. To appear. 
PS PDF DVI 
Cornell CS Technical Report TR2001-1856 contains the full definition and safety proof for the formal language sketched in the paper: PS PDF DVI

More information

Mailing Lists: We have set up three mailing lists for public use:

Go to http://lists.cs.cornell.edu/mailman/listinfo/ to subscribe/unsubscribe, or click the links below to send a message (only list members may submit to Cyclone-l).

Credits: Cyclone is a joint project of AT&T Labs Research and Greg Morrisett's group at Cornell University; see the Acknowledgments section of the documentation for details. Here are some links to personal web pages:

Trevor Jim
Greg Morrisett
Dan Grossman
James Cheney
Mike Hicks
Mathieu Baudet
Matthew Harris
Yanling Wang

Related projects: There are a number of projects with goals or techniques similar to Cyclone; we discuss some of them here.

Press: Cyclone has been of recent interest in the press. 

Users: Cyclone currently enjoys a small user community.  Please let us know if you are using Cyclone and for what purpose so that we might add your project to our list below.