I am a Principal Researcher, leading the Software Design and Implementation group in Microsoft Research. I am also an Adjoint Associate Professor of Computer Science at the University of Colorado, where I worked from 1990-1998. I have a BS from Rensselaer Polytechnic Institute (1982) and a MS (1984) and PhD (1989) from the University of California at Berkeley. My research interests include programming language design and implementation and performance measurement and analysis. I have served previously as an Associate Editor of the ACM journals Transactions on Programming Languages and Systems and Transactions on Architecture and Code Optimization and I am currently a member of the ACM SIGPLAN Executive Committee. For further information about my research, please see my vita.
Professional Activities:
- General Chair, ACM SIGPLAN 2010 Conference on Programming Language Design and Implementation (PLDI 2010)
- SIGPLAN Executive Committee, Member-at-Large (July 2007 - June 2012)
- I co-chair the SIGPLAN Professional Activities Committee (PAC) with Erez Petrank
We provide financial support for many professional activities, including student travel. Check it out! - I chair the SIGPLAN CACM Research Highlights Nomimating Committee We nominate papers from SIGPLAN workshops and conferences to appear in the CACM Research Highlights section. If you have suggestions for such papers, please nominate them using our website.
- I co-chair the SIGPLAN Professional Activities Committee (PAC) with Erez Petrank
- Program co-Chair (with Onur Mutlu), 2008 IEEE International Symposium on Workload Characterization (IISWC'08)
- Program Committee, 2007 Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES'07)
- Program Committee, 2007 International Symposium on Code Generation and Optimization (CGO 2007)
- Program co-Chair (with Kevin Skadron), Fifteenth International Conference on Parallel Architectures and Compilation Techniques (PACT-2006)
- Program Committee, Third ACM SIGPLAN History of Programming Languages Conference (HOPL-III)
- Program Committee, 4th Annual International Symposium on Code Generation and Optimization (CGO-4)
- Program Chair, 3rd Workshop on Memory System Performance (MSP'05)
- Ben's CLI Benchmarks- a collection of compute-intensive CLI programs
- Co-chair (with Hoi Vo), 2nd Workshop on Managed Runtime Environments (MRE'04)
Publications:
- Song Liu, Karthik Pattabiraman, Thomas Moscibroda, and Benjamin G. Zorn, Flicker: Saving Refresh-Power in Mobile Devices through Critical Data Partitioning, Microsoft Research Technical Report, MSR-TR-2009-138, 2009.
- Paruj Ratanaworabhan, Benjamin Livshits, and Benjamin G. Zorn, Nozzle: A Defense Against Heap-spraying Code Injection Attacks, USENIX Security Symposium, August 2009.
- Gene Novark, Emery D. Berger, and Benjamin G. Zorn, Efficiently and Precisely Locating Memory Leaks and Bloat, ACM SIGPLAN 2009 Conference on Programming Language Design and Implementation (PLDI'09), pp 397-407, Dublin, Ireland, June 2009.
- Gene Novark, Emery D. Berger, and Benjamin G. Zorn, Exterminator: Automatically Correcting Memory Errors with High Probability, Communications of the ACM, pp 87-95, December 2008. A longer version appears in ACM SIGPLAN 2007 Conference on Programming Language Design and Implementation (PLDI'07), pp 1-11, San Diego, CA, June 2007.
- Paruj Ratanaworabhan, Martin Burtscher, Darko Kirovski, Rahul Nagpal, Karthik Pattabiraman, and Benjamin Zorn, Detecting and Tolerating Asymmetric Races, 14th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 2009), Raleigh, NC, February 2009.
- Gene Novark, Emery D. Berger, Benjamin G. Zorn, "Plug: Automatically Tolerating Memory Leaks in C and C++ Applications", Department of Computer Science Tech Report 08-09, University of Massachusetts, April 2008.
- Karthik Pattabiraman, Vinod Grover and Benjamin Zorn, "Samurai: Protecting Critical Data in Unsafe Languages", EuroSys 2008, Glasgow, Scotland, April 2008.
- Vitaliy B. Lvin, Gene Novark, Emery D. Berger, Benjamin G. Zorn, "Archipelago: Trading Address Space for Reliability and Security", Thirteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '08), Seattle, WA, March 2008.
- Emery D. Berger and Benjamin G. Zorn, "DieHard: Efficient Probabilistic Memory Safety", Department of Computer Science Tech Report 07-17, University of Massachusetts, April 2008 (submitted for publication, supersedes PLDI'06 paper).
- Johannes Helander and Benjamin Zorn, "Medina: Combining Evidence to Build Trust", (Slides PPT, PDF), Web 2.0 Security & Privacy 2007 (W2SP 2007), Oakland, CA, May 2007.
- Rahul Nagpal, Karthik Pattabiraman, Darko Kirovski, and Benjamin Zorn, "ToleRace: Tolerating and Detecting Races", Second Workshop on Software Tools for Multi-Core Systems (STMCS), San Jose, CA, March 2007.
- D. Kirovski, B.G. Zorn, R. Nagpal, and K. Pattabiraman, "An Oracle for Tolerating and Detecting Asymmetric Races". Microsoft Research Technical Report, MSR-TR-2007-122, 2007.
- Karthik Pattabiraman, Vinod Grover, and Benjamin G. Zorn, "Software Critical Memory - All Memory is Not Created Equal", Microsoft Research, Tech Report MSR-TR-2006-128, September 2006.
- Emery D. Berger and Benjamin G. Zorn, "DieHard: Probabilistic Memory Safety for Unsafe Languages", ACM SIGPLAN 2006 Conference on Programming Language Design and Implementation (PLDI'06), pp 158-168, Ottawa, Canada, June 2006.
- Emery D. Berger, Benjamin G. Zorn, and Kathryn S. McKinley, "Reconsidering Custom Memory Allocation", 17th ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'02), pp 1-12, November 2002.
- Martin Burtscher, Benjamin G. Zorn "Hybrid Load-Value Predictors", IEEE Transactions on Computers, 51(7), pp. 759-774, 2002.
- Emery D. Berger, Benjamin G. Zorn, and Kathryn S. McKinley, "Composing High-Performance Memory Allocators", Programming Languages Design and Implementation '01 (PLDI'01), June 2001. (Presentation in ppt.)
- Matthew L. Seidl and Benjamin G. Zorn, "Implementing Heap-Object Behavior Prediction Efficiently and Effectively", Software-Practice and Experience, 31(9), pp 869-892, 2001.
Projects:
- RobustHeap / DH (with Emery Berger, Ted Hart, and Gene Novark): RobustHeap and DH (formerly DieHard) are memory allocators that include a number of features to provide tolerance or detection of memory errors related to out-of-bounds writes and use of dangling pointers.
- ToleRace (with Darko Kirovski): ToleRace is a runtime system that allows programs to either tolerate or detect asymmetric races based on local replication of shared state.
- Samurai / Flicker (with Karthik Pattabiraman, MSR; Thomas Moscibroda, MSR; and Song Lui, Northwestern) Based on our critical memory approach, we seek to improve reliability and increase efficiency in systems.
- Nozzle (with Ben Livshits, MSR, and Paruj Ratanaworabhan, Cornell Univ.): protecting browsers against heap-spraying attacks.
Presentations:
- "Nozzle: A Defense Against Heap-spraying Code Injection Attacks" (pdf), USENIX Security Symposium, August 2009.
- "Samurai: Protecting Critical Data in Unsafe Languages" (pdf), EuroSys 2008, Glasgow, Scotland, April 2008.
- "Tolerating and Correcting Memory Errors in C and C++" (pdf), Microsoft Research Cambridge, April 2008.
- "Programming Languages for Building Trustworthy Systems"(pdf), Information Trust Institute, 4th ITI Workshop on Dependability and Security: Opportunities and Challenges in Building an Overarching Community (November 2007).
- "Tolerating and Correcting Memory Errors in C and C++" (pdf), University of Illinois at Champaign-Urbana, November 2007.
- "DieHard: Memory Error Fault Tolerance in C and C++"(pdf), Microsoft, June 2007.
- "Software Fault Tolerance for Unsafe Languages", University of British Columbia, Dec. 2006.
- "Execution Environments for Building Dependable Systems", Invited talk at the 3rd Workshop on Managed Runtime Environments (MRE'05).
- "Thoughts on the Future of Runtime Systems", IBM Invitational Workshop on the Future of Virtual Execution Environments (VEE'04).
- "Performance in the Age of Trustworthy Computing", University of Colorado and others, 2004.



