![]()
![]() |
David Gay Intel Research Berkeley |
![]()
![]()
I graduated from the University of California at Berkeley in 2001, where my advisor was Alex Aiken. My thesis was on safe region-based memory-management for C. More information, including a compiler for a dialect of C extended with regions can be found here.
Before that, I studied and worked in Switzerland (where the mountains are closer) at the École Polytechnique Fédérale de Lausanne.
![]()
![]()
I am a programming language researcher who likes to design languages and build compilers. My goal is to produce languages that will make it easier to write correct programs, through static or dynamic checking. In most cases, I have found it best to design new languages as small extensions to existing, popular languages (e.g., C) as this provides familiarity to users and access to a large, existing code base.
Since joining Intel Research, I have worked on programming languages and operating systems for TinyOS. I recently chaired the TinyOS 2.0 working group. I also work on the design and implementation of nesC, the component-based C dialect used to implement TinyOS and its applications.
I am currently working with the UC Berkeley Ivy project, which aims to replace C as a system's programming language. Ivy aims to improve on C by providing type and memory safety and better support for concurrency; additionally Ivy will support seamless interoperation with C code, and semi-automatic translation of existing C code into Ivy.
Finally, I have been looking into language design issues in the P2 project, a high-level language for expressing overlay networks, network protocols, etc.
![]()
![]()
Papers at Intel Research:
- SharC: Checking Data Sharing Strategies for Multithreaded C, Zachary Anderson, David Gay, Rob Ennals and Eric Brewer
PLDI'08: ACM SIGPLAN Conference on Programming Language Design and Implementation, Tucson, Arizona, June 2008. [PDF]- Integrating Concurrency Control and Energy Management in Device Drivers, Kevin Klues, Vlado Handziski, Chenyang Lu, Adam Wolisz, David Culler, David Gay, and Phil Levis
SOSP'07: ACM SIGOPS Symposium on Operating Systems Principles, Stevenson, Washingnton, October 2007. [PDF]- Efficient Memory Safety for TinyOS, Nathan Cooprider, Will Archer, Eric Eide, David Gay and John Regehr
Sensys'07: ACM International Conference on Embedded Networked Sensor Systems, Sydney, Australia, November 2007. [PDF]- Safe Manual Memory Management, David Gay, Rob Ennals, and Eric Brewer
ISMM'07: ACM SIGPLAN International Symposium on Memory Management, Montréal, Canada, October 2007. [PDF]- User-Friendly Functional Programming for Web Mashups, Rob Ennals and David Gay
ICFP'07: ACM SIGPLAN International Conference on Functional Programming, Freiburg, Germany, October 2007. [PDF]- Beyond Bug-Finding: Sound Program Analysis for Linux, Zachary Anderson, Eric Brewer, Jeremy Condit, Robert Ennals, David Gay, Matthew Harren, George Necula, and Feng Zhou
HotOS XI: Workshop on Hot Topics in Operating Systems, San Diego, California, May 2007. [PDF]- Multi-Language Synchronization, Rob Ennals and David Gay
ESOP'07: European Symposim on Programming, Braga, Portugal, March-April 2007. [PDF]- Dependent Types for Low-Level Programming, Jeremy Condit, Matthew Harren, Zachary Anderson, David Gay, and George Necula
ESOP'07: European Symposim on Programming, Braga, Portugal, March-April 2007. [PDF]- Atomicity and visibility in tiny embedded systems, John Regehr, Nathan Cooprider, and David Gay
PLOS'06: ACM Workshop on Programming Languages and Operating System, San Jose, California, October 2006. [PDF]- Declarative Networking: Language, Execution and Optimization, Boon Thau Loo, Tyson Condie, Minos Garofalakis, David Gay, Joseph M. Hellerstein, Petros Maniatis, Raghu Ramakrishnan, Timothy Roscoe and Ion Stoica
SIGMOD'06: ACM SIGMOD International Conference on Management of Data, Chicago, Illinois, June 2006. [PDF]- Autolocker: Synchronization Inference for Atomic Sections, Bill McCloskey, Feng Zhou, David Gay and Eric Brewer
POPL'06: ACM SIGPLAN/SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina, January 2006. [PDF]- A Macroscope in the Redwoods, Gilman Tolle, Joseph Polastre, Robert Szewczyk, David Culler, Neil Turner, Kevin Tu, Stephen Burgess, Todd Dawson, Phil Buonadonna, David Gay and Wei Hong.
SenSys'05: ACM Conference on Embedded Networked Sensor Systems, San Diego, California, November 2005. [PDF]- Language Support for Interoperable Messaging in Sensor Networks, Kevin Chang and David Gay
SCOPES'05: 9th International Workshop on Software and Compilers for Embedded Systems, Dallas, Texas, September 2005. [PDF]- Software Design Patterns for TinyOS, David Gay, Phil Levis and David Culler
LCTES'05: ACM SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems, Chicago, Illinois, June 2005. [PDF]
An extended version of this paper appears in
ACM Transactions on Embedded Computing Systems (TECS), Volume 6, Issue 4, September 2007. [PDF]- Active Sensor Networks, Philip Levis, David Gay and David Culler
NSDI'05: Second Symposium on Networked Systems Design and Implementation, Boston, Massachusetts, May 2005. [PDF]- TASK: Sensor Network in a Box, Phil Buonadonna, David Gay, Joseph M. Hellerstein, Wei Hong and Samuel Madden
EWSN'05: Second European Workshop on Sensor Networks, Istanbul, Turkey, January 2005.- The Emergence of Networking Abstractions and Techniques in TinyOS, Philip Levis, Sam Madden, David Gay, Joseph Polastre, Robert Szewczyk, Alec Woo, Eric Brewer and David Culler
NSDI'04: First Symposium on Networked Systems Design and Implementation, San Francisco, California, March 2004. [PDF]- The nesC Language: A Holistic Approach to Networked Embedded Systems, David Gay, Phil Levis, Robert von Behren, Matt Welsh, Eric Brewer and David Culler
PLDI'03: ACM SIGPLAN Conference on Programming Language Design and Implementation, San Diego, California, June 2003. [PDF]Papers at UC Berkeley:
- An Analysis of VI Architecture Primitives in Support of Parallel and Distributed Communication, Andrew Begel, Philip Buonadonna, David E. Culler and David Gay
Concurrency and Computation: Practice and Experience, 2002; 14:55-76.- Language Support for Regions, David Gay and Alex Aiken
PLDI'01: ACM SIGPLAN Conference on Programming Language Design and Implementation, Snowbird, Utah, June 2001. [PDF]- Fast Escape Analysis and Stack Allocation for Object-Based Programs, David Gay and Bjarne Steensgard
Compiler Construction 2000, Berlin, Germany, March 2000.- Memory Management with Explicit Regions, David Gay and Alex Aiken
PLDI'98: ACM SIGPLAN Conference on Programming Language Design and Implementation, Montreal, Canada, June 1998. [PDF]- Titanium: A High-performance Java Dialect, Katherine A. Yelick, Luigi Semenzato, Geoff Pike, Carleton Miyamoto, Ben Liblit, Arvind Krishnamurthy, Paul N. Hilfinger, Susan L. Graham, David Gay, Phillip Colella, and Alexander Aiken
1998 ACM Workshop on Java for High Performance Computing [PDF]- Barrier Inference, Alex Aiken and David Gay
POPL'98: ACM SIGPLAN/SIGACT Symposium on Principles of Programming Languages, San Diego, California, January 1998. [PDF]
An extended version of this paper is available as my master's thesis.
Personal
- My home page
- Some photographs.
- I used to spend a lot of time building MUME.
Some links take you outside the Intel Research network of laboratories web site. Other names and brands may be claimed as the property of others.
Legal Information and Privacy Policy © 2002 Intel Corporation