Prospective students

I do research in the general area of computer systems. I build systems that solve real-world problems. I work on a broad range of topics in computer systems such as reliability, security, performance analysis, and system support for emerging hardware architectures. I am interested in systems challenges on a single node as well as in a distributed setting. In my research, I employ a variety of techniques from operating systems, programming languages, and software engineering.

To get a feel of what it means to be a systems researcher, read this amusing article by James Mickens. The reality is not that far from Mickens’ description. In particular, to be successful in systems research, hacking on real and complex systems (e.g., Linux kernel) and quickly reading and understanding the internals of large codebases (e.g., the LLVM compiler toolchain) should be of second nature to you. Real-world software development experience (either open-source or commercial) helps a lot.

The Computer Science and Engineering Department at Michigan is one of the best places in the world to do a PhD in computer science, and the computer systems group is absolutely stellar. Michigan is one of the best places to be if you are motivated to do world-class systems research, build real systems, and publish papers in the highest-impact venues.

If the above sounds good to you, contact me with an email briefly explaining your interests and background. Please also attach a copy of your CV to your email.