Carnegie Mellon University

Ben Titzer

Dr. Ben Titzer

Principal Researcher

  • 447 TCS Hall
Address
5000 Forbes Avenue
Pittsburgh, PA 15213

Bio

I am a Principal Researcher in the Software and Societal Systems Department since January 2022. My research focuses on systems; systems programming languages, compilers, virtual machines, and managed runtime systems, as well as the higher-level systems that they support. In 2014 I co-founded WebAssembly, and today I focus on increasing WebAssembly’s usefulness and reach for academic research as well as applicability to new domains such as Edge computing.

I am building a new WebAssembly engine for research and experimentation! Called The Wizard Engine, it focuses on simplicity and flexibility, while still having competitive performance. It’s small and well-suited for students to learn how Wasm engines work. It already has a few innovative features and line-for-line is featureful yet easy to read.

I earned my PhD in Computer Science at UCLA in 2007 under Professor Jens Palsberg. At UCLA I focused on compiler and language design for *really* small computers—microcontrollers with just a few kilobytes of RAM and a few tens of kilobytes of flash. I developed Virgil, a safe object-oriented language with some functional features that compiled down to these small devices. Masters work included Avrora, a highly-multi-threaded sensor network simulator. Prior to that, I earned my BS in Computer Science at Purdue and was a member of the OVM research project, a Java-in-Java virtual machine emphasizing modularity and real-time operation. During school, I interned at Sun Labs and IBM T.J. Watson, working on both the HotSpot JVM and the J9 JVM.

Prior to joining CMU, I spent nearly 15 years in industry and industrial research labs. From 2007-2010 I was a Member of Technical Staff at Sun Microsystems Laboratories, where I was a core member of the Maxine VM team, another Java-in-Java virtual machine effort that eventually gave rise to Truffle/Graal. From 2010-2013 I worked for Google in Mountain View on internal exception monitoring tools at scale, and from 2013-2019 I worked for Google in Munich, Germany, as a core member of the V8 team, the JavaScript engine that powers Google Chrome. On the V8 team, I designed the TurboFan optimizing compiler and led the team that built its initial architecture, first shipped for asm.js. In 2014 I co-founded the WebAssembly project with Luke Wagner from Mozilla. Together we built an international collaboration among all browser vendors to develop WebAssembly and establish it as a new bytecode for the Web. At Google I led and managed the team that designed and implemented Wasm in V8 from 2015-2019, working with engineers from several teams across the company. 

I got mugged from 2017 to 2019 as Google’s V8 team ended up on the front lines of Chrome’s response to the Spectre class of side-channel vulnerabilities. I and engineers from V8 did pioneering research to understand and mitigate the threats for the Web. We published our findings in a paper that sounds more dire the more times you read it.

In 2020 I spent nearly a year at Australian National University in Canberra, where I taught undergraduate compilers as a Senior Lecturer and did research as a Research Fellow.

In 2021 I conducted independent research on Wasm and a part-time private consultancy.

I still work on the Virgil programming language to this day. In fact, it forms the basis of my further research into WebAssembly. Virgil’s a great language!