Share this page
Share this page E-mail this page Print this page RSS feeds
Home > Publications > Thirty Years is Long Enough: Getting Beyond C
Thirty Years is Long Enough: Getting Beyond C

Thirty years after its creation, C remains one of the most widely used systems programming languages. Unfortunately, the power of C has become a liability for large systems projects, which are now focusing on security and reliability. Modern languages and static analyses provide an opportunity to improve the quality of systems software, and yet adoption of these tools has been slow.

To address this problem, we propose a new language called Ivy that has an evolutionary path from C. The mechanism for this evolutionary path is a system of extensions and refactorings: extensions augment the language with new features, and refactorings assist the programmer in updating their code to use these new features. Extensions and refactorings have a wide variety of applications, from enforcing memory safety to detecting user/kernel pointer errors. We also demonstrate Macroscope, a tool we have built to enable refactoring of existing C code.

ivy-hotos-2005.pdf
PDF file

In: Hot Topics in Operating Systems (HotOS '05)

Publisher: USENIX
All copyrights reserved by USENIX 2007

Details

Type: Inproceedings