Thirty years is long enough: getting beyond C

  • Authors:
  • Eric Brewer;Jeremy Condit;Bill McCloskey;Feng Zhou

  • Affiliations:
  • Computer Science Division, University of California at Berkeley;Computer Science Division, University of California at Berkeley;Computer Science Division, University of California at Berkeley;Computer Science Division, University of California at Berkeley

  • Venue:
  • HOTOS'05 Proceedings of the 10th conference on Hot Topics in Operating Systems - Volume 10
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.