David F. Bacon  David F. Bacon photo       

contact information

Thomas J. Watson Research Center, Yorktown Heights, NY USA


Professional Associations

Professional Associations:  ACM  |  ACM SIGPLAN  |  IBM Academy of Technology

more information

More information:  Personal  |  Quotations  |  Sailing Resume  |  Screen Savers


Yiling Chen, David Parkes, Malvika Rao, Harvard University,
Economic Approaches to Software Specification and Improvement (OOPSLA'09, FoSER'10, AAMAS'12)

Krste Asanović, U.C. Berkeley
FPGA Run-time System for use with Liquid Metal (Open Collaborative Research Grant)

Scott Mahlke, University of Michigan
Liquid Metal High-level Language Compilation to FPGAs (CASES'08)

Jan Vitek, Purdue University and Jesper Spring, Ecole Polytechnique Fdrale de Lausanne,
Unified Programming Models for Isolated Tasks (LCTES'08)

Stephen Neuendorffer, Peter Oruba, Xilinx Research,
Co-execution of Java programs on reconfigurable hardware.

Christoph Kirsch, Harald Rck, Rainer Trummer, Daniel Iercan, Universitt Salzburg,
JAviator helicopter and Time-Portable Real-time Tasks for Java (EMSOFT'05, LCTES'07, TECS'09)

Florian Bmers, Bome Software,
Java-based real-time music synthesis (ICMC'07)

Raja Sengupta, U.C. Berkeley (Civil Engineering)
Real-time Control of Unmanned Aerial Vehicle Swarms with Metronome

Matthias Hauswirth, Universit della Svizzera Italiana
Visualization and Analysis of Real-time Systems (EMSOFT'05, CASES'06)

Erez Petrank, Harel Paz, Technion - Israel Institue of Technology
Multiprocessor Reference Counting Garbage Collection (CC'05, TOPLAS'07)

Chandra Krintz, Sunil Soman, U.C. Santa Barbara
Dynamic Selection of Garbage Collection Algorithms (ISMM'04)

Susan L. Graham, Oliver Sharp, U.C. Berkeley
Compiler Transformations for High-Performance Computing (CSUR'94)

Seth Copen Goldstein, U.C. Berkeley
Hardware-Assisted Replay of Multiprocessor Programs (WoPaDD'91)

Alexander Dupuy, Jed Schwartz, Yechiam Yemini, Columbia University
NEST: A Network Simulation and Prototyping Testbed (Usenix'88, CACM'90)


Myron King, MIT (2009)
Run-time System for Co-execution of Streaming Constructs in Software and Hardware

Amir Hormati, University of Michigan (2007, 2008)
FPGA Synthesis for Java-based Languages (CASES'08, ECOOP'08, PACT'09, ASPLOS'10)

Andrei Hagiescu, National University of Singapore (2008)
Efficient FPGA synthesis of streaming applications (DAC'09)

Jia Zhou, University of California, Berkeley (2008)
Programming Temporally Integrated Distributed Embedded Systems with Flexotasks (LCTES'09)

Jesper Spring, Ecole Polytechnique Fdrale de Lausanne (2008)
Unified Restricted Thread Programming Model (LCTES'08, Ph.D. Thesis)

Shan Shan Huang, Georgia Tech (2007)
Lanuage extensions for concurrent and synthesizable languages (ECOOP'08)

Harald Rck, University of Salzburg (2007)
Language and Kernel Support for Real-time Control of Autonomous Helicopters (LCTES'07, JTRES'09, TECS'09)

Jennifer Sartor, University of Texas, Austin (2007)
Garbage collection of terrabyte heaps (ISMM'08)

Martin T. Vechev, Cambridge University (2004, 2005, 2006 -- subsequently a Research Staff Member at IBM and now Assistant Professor at ETH Zurich)
Derivation and Implementation of Concurrent Garbage Collection Algorithms
(ISMM'04, LCTES'05, ECOOP'05, EMSOFT'05, PLDI'06, PLDI'07, Ph.D. Thesis)

Bill McCloskey, University of California, Berkeley (2006)
Wait-free Multiprocessor Garbage Collection (EMSOFT'08)

Ben L. Titzer, University of California, Los Angeles (2006)
Compilation of Java subsets to memory-constrained devices (PLDI'07, Ph.D. Thesis)

Daniel Frampton, Australian National University (2005, 2006)
Generational Real-time Garbage Collection and Performance Analysis (CC'06, ECOOP'07)

Daniel Spoonhower, Carnegie Mellon University (2005)
Eventrons: Safe Real-time Programming Abstractions (EMSOFT'05, PLDI'06)

Kris Venstermans, University of Ghent, Belgium (2003)
64-bit Jikes Research Virtual Machine (RVM).

Alan Donovan, MIT (2002)
Kava Compiler

Han B. Lee, University of Colorado (1999)
The Recycler: A Multiprocessor Concurrent Reference Counting Garbage Collector for Java (PLDI'01)

Ashis Tarafdar, University of Texas, Austin (1999)
Guava: A Dialect of Java without Data Races (OOPSLA'00)


I am always interested in working with talented people. Currently, I am working in the areas of real-time and embedded systems, high-level language synthesis for reconfigurable hardware, programming language design, garbage collection, and language run-time systems.

Graduating Ph.D. students can apply for either permanent or post-doctoral positions, and Ph.D. candidates and exceptional undergraduates can apply for summer internship. For interns, my goal is for the project to lead to papers published in top-quality conferences and to also form a part of the student's thesis, if desired.

If you are interested in working with me, please see information about IBM Research Careers and then send me your resume.