HotOS X, Tenth Workshop on Hot Topics in Operating Systems Abstract
Thirty Years Is Long Enough: Getting Beyond C
Eric Brewer, Jeremy Condit, Bill McCloskey, and Feng Zhou,
University of California, Berkeley
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.
- View the full text of this paper in PDF.
Until June 2006, you will need your USENIX membership identification in order to access the full papers. The Proceedings are published as a collective work, © 2005 by the USENIX Association. All Rights Reserved. Rights to individual papers remain with the author or the author's employer. Permission is granted for the noncommercial reproduction of the complete work for educational or research purposes. USENIX acknowledges all trademarks within this paper.
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.