I am a Software Engineer at Google, Mountain View, where my mission is to make program analysis usable for developers. I created Google's internal static analysis platform; I now lead a team focused on extending and maintaining this platform. I also work on compiler-level static analysis tools, such as error-prone.
I completed my computer science Ph.D. at the University of California at Santa Cruz, where I worked with my advisors Cormac Flanagan and Jim Whitehead on a variety of research topics related to Programming Languages (PL), Software Engineering (SE) and Human Computer Interaction (HCI). My dissertation was focused on dynamic analyses for detecting concurrency errors such as data races. I also have a line of research on hard real-time multiprocessor scheduling.
In summer 2010 I worked at Microsoft Research with Tom Ball on developing and evaluating a parallel and concurrent programming course and with Sebastian Burckhardt and Daan Leijen on extending the concurrent revisions framework. In summer 2011 I worked at Google on adding a thread safety analysis to the Clang C/C++ compiler. Since Clang is all open source, you can check it out and play around with it.