David F. Bacon

Affiliations:
  • Google
  • IBM Research (former)


According to our database1, David F. Bacon authored at least 75 papers between 1988 and 2020.

Collaborative distances:

Awards

ACM Fellow

ACM Fellow 2009, "For contributions to real-time systems and to object-oriented language design and implementation.".

Timeline

Legend:

Book 
In proceedings 
Article 
PhD thesis 
Dataset
Other 

Links

Online presence:

On csauthors.net:

Bibliography

2020
Incentivizing Deep Fixes in Software Economies.
IEEE Trans. Software Eng., 2020

2017

2015
Growing a Software Language for Hardware Design.
Proceedings of the 1st Summit on Advances in Programming Languages, 2015

Cycle-Accurate Replay and Debugging of Running FPGA Systems.
Proceedings of the 23rd IEEE Annual International Symposium on Field-Programmable Custom Computing Machines, 2015

2014
Parallel real-time garbage collection of multiple heaps in reconfigurable hardware.
Proceedings of the International Symposium on Memory Management, 2014

2013
POPL 2003: A real-time garbage collector with low overhead and consistent utilization.
ACM SIGPLAN Notices, 2013

FPGA programming for the masses.
Commun. ACM, 2013

And then there were none: a stall-free real-time garbage collector for reconfigurable hardware.
Commun. ACM, 2013

The Liquid Metal Blokus Duo Design.
Proceedings of the 2013 International Conference on Field-Programmable Technology, 2013

The Shape of Things to Run - Compiling Complex Stream Graphs to Reconfigurable Hardware in Lime.
Proceedings of the ECOOP 2013 - Object-Oriented Programming, 2013

2012
Compiling a high-level language for GPUs: (via language support for architectures and compilers).
Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, 2012

A compiler and runtime for heterogeneous computing.
Proceedings of the 49th Annual Design Automation Conference 2012, 2012

Predicting your own effort.
Proceedings of the International Conference on Autonomous Agents and Multiagent Systems, 2012

2011
Virtualization in the age of heterogeneous machines.
Proceedings of the 7th International Conference on Virtual Execution Environments, 2011

Virtualization of heterogeneous machines hardware description in a synthesizable object-oriented language.
Proceedings of the 48th Design Automation Conference, 2011

2010
Software economies.
Proceedings of the Workshop on Future of Software Engineering Research, 2010

Lime: a Java-compatible and synthesizable language for heterogeneous architectures.
Proceedings of the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2010

2009
Low-latency time-portable real-time programming with Exotasks.
ACM Trans. Embed. Comput. Syst., 2009

Minimizing dependencies within generic classes for faster and smaller programs.
Proceedings of the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2009

A market-based approach to software evolution.
Proceedings of the Companion to the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2009

PTIDES on flexible task graph: real-time embedded systembuilding from theory to practice.
Proceedings of the 2009 ACM SIGPLAN/SIGBED conference on Languages, 2009

Avoiding unbounded priority inversion in barrier protocols using gang priority management.
Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems, 2009

A computing origami: folding streams in FPGAs.
Proceedings of the 46th Design Automation Conference, 2009

2008
Languages and performance engineering: method, instrumentation, and pedagogy.
ACM SIGPLAN Notices, 2008

Flexible task graphs: a unified restricted thread programming model for java.
Proceedings of the 2008 ACM SIGPLAN/SIGBED Conference on Languages, 2008

Tax-and-spend: democratic scheduling for real-time garbage collection.
Proceedings of the 8th ACM & IEEE International conference on Embedded software, 2008

Liquid Metal: Object-Oriented Programming Across the Hardware/Software Boundary.
Proceedings of the ECOOP 2008, 2008

Optimus: efficient realization of streaming applications on FPGAs.
Proceedings of the 2008 International Conference on Compilers, 2008

2007
An efficient on-the-fly cycle collection.
ACM Trans. Program. Lang. Syst., 2007

Realtime garbage collection.
ACM Queue, 2007

CGCExplorer: a semi-automated search procedure for provably correct concurrent collectors.
Proceedings of the ACM SIGPLAN 2007 Conference on Programming Language Design and Implementation, 2007

The ExoVM system for automatic VM and application reduction.
Proceedings of the ACM SIGPLAN 2007 Conference on Programming Language Design and Implementation, 2007

TuningFork: a platform for visualization and analysis of complex real-time systems.
Proceedings of the Companion to the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2007

Java takes flight: time-portable real-time programming with exotasks.
Proceedings of the 2007 ACM SIGPLAN/SIGBED Conference on Languages, 2007

Real-Time Music synthesis in Java using the Metronome Garbage Collector.
Proceedings of the 2007 International Computer Music Conference, 2007

Design and implementation of a comprehensive real-time java virtual machine.
Proceedings of the 7th ACM & IEEE International conference on Embedded software, 2007

Generational Real-Time Garbage Collection.
Proceedings of the ECOOP 2007 - Object-Oriented Programming, 21st European Conference, Berlin, Germany, July 30, 2007

2006
Braids and fibers: Language constructs with architectural support for adaptive responses to memory latencies.
IBM J. Res. Dev., 2006

Correctness-preserving derivation of concurrent garbage collection algorithms.
Proceedings of the ACM SIGPLAN 2006 Conference on Programming Language Design and Implementation, 2006

Eventrons: a safe programming construct for high-frequency hard real-time applications.
Proceedings of the ACM SIGPLAN 2006 Conference on Programming Language Design and Implementation, 2006

Demonstration: On-Line Visualization and Analysis of Real-Time Systems with TuningFork.
Proceedings of the Compiler Construction, 15th International Conference, 2006

2005
Syncopation: generational real-time garbage collection in the metronome.
Proceedings of the 2005 ACM SIGPLAN/SIGBED Conference on Languages, 2005


Derivation and Evaluation of Concurrent Collectors.
Proceedings of the ECOOP 2005, 2005

2004
A unified theory of garbage collection.
Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2004

Write barrier elision for concurrent garbage collectors.
Proceedings of the 4th International Symposium on Memory Management, 2004

Dynamic selection of application-specific garbage collectors.
Proceedings of the 4th International Symposium on Memory Management, 2004

Garbage collection for embedded systems.
Proceedings of the EMSOFT 2004, 2004

2003
Kava: a Java dialect with a uniform object model for lightweight classes.
Concurr. Comput. Pract. Exp., 2003

A real-time garbage collector with low overhead and consistent utilization.
Proceedings of the Conference Record of POPL 2003: The 30th SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2003

The Metronome: A Simpler Approach to Garbage Collection in Real-Time Systems.
Proceedings of the On The Move to Meaningful Internet Systems 2003: OTM 2003 Workshops, 2003

MJ: a rational module system for Java and its applications.
Proceedings of the 2003 ACM SIGPLAN Conference on Object-Oriented Programming Systems, 2003

Controlling fragmentation and space consumption in the metronome, a real-time garbage collector for Java.
Proceedings of the 2003 Conference on Languages, 2003

2002
Space- and Time-Efficient Implementation of the Java Object Model.
Proceedings of the ECOOP 2002, 2002

2001
Java without the Coffee Breaks: A Nonintrusive Multiprocessor Garbage Collector.
Proceedings of the 2001 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2001

A Comparative Evaluation of Parallel Garbage Collector Implementations.
Proceedings of the Languages and Compilers for Parallel Computing, 2001

Concurrent Cycle Collection in Reference Counted Systems.
Proceedings of the ECOOP 2001, 2001

2000
Guava: a dialect of Java without data races.
Proceedings of the 2000 ACM SIGPLAN Conference on Object-Oriented Programming Systems, 2000

1998
Thin locks: featherweight Synchronization for Java (with retrospective)
Proceedings of the 20 Years of the ACM SIGPLAN Conference on Programming Language Design and Implementation 1979-1999, 1998

Thin Locks: Featherweight Synchronization for Java.
Proceedings of the ACM SIGPLAN '98 Conference on Programming Language Design and Implementation (PLDI), 1998

1996
Fast Static Analysis of C++ Virtual Function Calls.
Proceedings of the 1996 ACM SIGPLAN Conference on Object-Oriented Programming Systems, 1996

1994
Compiler Transformations for High-Performance Computing.
ACM Comput. Surv., 1994

A compiler framework for restructuring data declarations to enhance cache and TLB effectiveness.
Proceedings of the 1994 Conference of the Centre for Advanced Studies on Collaborative Research, October 31, 1994

1992

1991
Transparent Recovery in Distributed Systems.
ACM SIGOPS Oper. Syst. Rev., 1991

File System Measurements and their Application to the Design of Efficient Operation Logging Algorithm.
Proceedings of the Tenth Symposium on Reliable Distributed Systems, 1991

Optimistic Parallelization of Communicating Sequential Processes.
Proceedings of the Third ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming (PPOPP), 1991

Hardware-Assisted Replay of Multiprocessor Programs.
Proceedings of the ACM/ONR Workshop on Parallel and Distributed Debugging, 1991

High-level language support for programming distributed systems.
Proceedings of the 1991 Conference of the Centre for Advanced Studies on Collaborative Research, 1991

Hermes - a language for distributed computing.
Prentice Hall series in innovative technology, Prentice Hall, ISBN: 978-0-13-389537-7, 1991

1990
NEST: A Network Simulation and Prototyping Testbed.
Commun. ACM, 1990

A Portable Run-time System for the Hermes Distributed Programming Language.
Proceedings of the Usenix Summer 1990 Technical Conference, 1990

1989
NEST: a network simulation & prototyping testbed.
Proceedings of the 21st Winter Simulation Conference, 1989

1988
Nest: A Network Simulation and Prototyping Tool.
Proceedings of the USENIX Winter Conference. Dallas, Texas, USA, January 1988, 1988

Volatile logging in n-fault-tolerant distributed systems.
Proceedings of the Eighteenth International Symposium on Fault-Tolerant Computing, 1988


  Loading...