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.
Related Activities:
- Program co-Chair (with Onur Mutlu),
2008 IEEE International
Symposium on Workload Characterization (IISWC'08)
- SIGPLAN Executive
Committee, Member-at-Large (July 2007 - June 2009)
- 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)
Recent Presentations:
- "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.
Recent publications:
- Paruj Ratanaworabhan, Martin Burtscher, Darko Kirovski, Rahul Nagpal,
Karthik Pattabiraman, and Benjamin Zorn, "Detecting
and Tolerating Asymmetric Races", ICES Tech Report Number
08-06. Institute for Computational Engineering & Sciences, University of
Texas at Austin, April 2008 (submitted for publication).
- 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 (submitted for publication).
- 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).
- Gene Novark, Emery D. Berger, Benjamin G. Zorn, "Exterminator:
Automatically Correcting Memory Errors with High Probability", ACM SIGPLAN 2007 Conference on Programming Language Design and
Implementation (PLDI'07), pp 1-11, San Diego, CA, June 2007.
- 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.
This page is maintained by Ben Zorn
(zorn at microsoft dot com).