How to reach me:
Broadly speaking, my research group investigates interesting topics in operating systems, mobile computing, storage, and distributed systems. I am currently interested in creating software systems that allow concurrent programs to execute more reliably on multicore computers, as well as tools that help developers and administrators troubleshoot software problems such as misconfigurations. I am also interested in enabling demanding applications to run on mobile computers, consumer electronics, and automotive platforms. These environments are limited in compute cycles, storage capacity, and battery energy, making this area a fun and challenging one in which to work!
That's just a sample. More detail on ongoing projects, publications, and software can be found on the home page for my research group.
For a list of my publications sorted by date, click here
I am a member of the Michigan Mobility group. I often collaborate with other faculty members in the operating systems and networking and distributed systems research groups.
I am director of the Software Systems Lab.
I wrote a lecture for the Morgan Claypool Synthesis
Lectures on Mobile and Pervasive Computing series. The lecture can be
(requires institutional subscription for access).
I am on the following program committees:
I am teaching EECS 482: Introduction to Operating Systems in Winter 2015. I plan a return engagement in Winter 2016.
I have taught the following courses in the (somewhat) recent past:
EECS 482 - Introduction to Operating Systems.
EECS 582 - Advanced Operating Systems.
EECS 591 - Distributed Systems.
I've recently become interested in crosswords (solving and construction). I've put some thoughts and puzzles here.