School of Computing UofU calendar UofU index UofU directory Map About Salt Lake SoC Calendar University of Utah University of Utah


Colloquium

David Gay
Intel Research Berkeley


Thursday, August 28, 2008
3147 MEB
Lecture 11:00 a.m.


Host: John Regehr


Title: Ivy: Fixing C for a Multicore Future

Abstract
C remains a very widely used systems programming language, with many advantages: widely known, supported by many tools, good access to low-level hardware, etc. But C also makes it unnecessarily hard to produce safe and reliable programs, a particularly significant problem for systems and multi-threaded code. Modern languages address many of these issues, but porting existing code to a new language is often impractical for large systems. Static analyses of existing C code can find some problems, but guaranteeing safety is hampered by extensive use of unsafe features.

In the Ivy project, we have designed small extensions to C that address the classic problems of type and memory safety (Deputy and HeapSafe), and the increasingly-important problem of data-sharing in threaded programs (SharC). All of these extensions require small, tractable changes to existing code, and have been validated on substantial code bases - a bootable Linux kernel for Deputy and HeapSafe, and several Linux-based threaded applications for SharC.

In this talk, I will give a brief overview of Deputy (type safety) and HeapSafe (deallocation safety), and concentrate on SharC (short for "Sharing Checker") that allows a user to write lightweight annotations to declare how they believe objects are being shared between threads in their program. SharC then uses a combination of static and dynamic analyses to check that the program conforms to this specification.

Return to 2008 Events Calendar


School of Computing • 50 S. Central Campus Dr. Rm. 3190 • Salt Lake City, UT 84112
801-581-8224 • Fax: 801-581-5843 • Send comments to webmaster@cs.utah.edu
Disclaimer