Ben Blum

9009 Gates-Hillman Center
Computer Science Department
Carnegie Mellon University
5000 Forbes Avenue
Pittsburgh, PA 15213
«firstinitial lastname at»

People pay me to study computer science. I like doing this most when it involves some combination (in approximate order of favouritism) of concurrency, programming languages, operating systems, and verification.

I also love teaching, but more the doing rather than the researching.

I am a second-year Ph.D. student and third-year graduate student in the Computer Science Department at Carnegie Mellon University. I work in the Parallel Data Laboratory and am advised by Garth Gibson.


I am working on the following research projects, in varying degrees of activity. You may be interested in my serious-business research blog, Winning Race Conditions.


Landslide: Systematic Dynamic Race Detection in Kernel Space. MS thesis; CMU CS TR 12-118. (May 2012) bibtex

Parrot: A Practical Runtime for Deterministic, Stable, and Reliable Threads. Heming Cui, Jiri Simsa, Yi-Hong Lin, Hao Li, Ben Blum, Xinan Xu, Junfeng Yang, Garth Gibson, Randy Bryant. SOSP, November 2013. acm link


I am currently the head instructor for Great Practical Ideas for Computer Scientists, a student-taught class pioneered by Adam Blank aimed at "filling in the holes" of our undergrad CS intro curriculum (shell scripting, version control, debugging skills).

I have also been a TA for Intro to Computer Systems for two semesters (S09, F09) and a TA for Operating Systems for three semesters (F10, S11, F11).


I have written a chess engine, which plays on FICS as bistromath where it is rated about 2100. It is 5000+ lines of C (which interface with xboard for talking to the internet), available here.

I have contributed to Linux CGroups, including an interface for multithreaded process migration between groups (writeup) and a framework for module-loadable subsystems (writeup).

I have helped organise SIGBOVIK, an annual workshop at CMU for research on topics such as Address Space Content Randomisation and Proof by Handwaving.


I am an avid cook (and baker) and consider myself a decent pastry chef. I love learning new things about food, especially about its science and preparation. I occasionally produce experimental baked goods and bring them to a tea event we have in CSD.

I enjoy thinking about psychology, philosophy, happiness, depression, and so on. I use male pronouns for myself. I consider myself both Jewish (by heritage) and Buddhist (by philosophy).

I am also big on going long distances under my own power. I began running in 2010, and have run the Pittsburgh Marathon three times (once on the same day as my undergraduate diploma ceremony), and the Philadelphia Marathon once. My best time was my first one: 3:55:59. I try to keep track of where I run by making maps like these:

pittsburgh (big; bigger)
mountain view (big; bigger)
I have also walked to west virginia, biked to the airport, and solved (by walking) the königs-pittsburgh bridge problem.

success and failure. we think of them as opposites, but they're really not. they're companions—the hero and the sidekick. [laurence shames]

page last updated 2013-11-07