I am an assistant professor in the Computer Science department at the University of Colorado at Boulder. I am a member of the Programming Languages & Verification and Computer & Cyber-Physical Systems research groups. Previously, I was a member of research staff at NEC Laboratories America from 2005-2009. I graduated with a PhD in Computer Science from Stanford University in 2005. Here is a link to a brief biography.
Simply put, I am interested in automatically proving programs correct or finding bugs in them. As a rule, such problems are undecidable , i.e., they cannot be solved in their full generality using a computer. Discovering ways to reformulate the problem (eg., find techniques to automatically discover simpler abstractions of a given program), and focusing on special but useful cases can still help us tackle many practical software systems.
My focus is on reasoning about hybrid dynamical (cyber-physical) systems, which model discrete programs interacting with a continuous environment modeled by ordinary differential equations (ODEs).
This research is part of the larger areas of Automata Theory, Logic and Formal Languages. My research naturally lends itself to techniques from diverse areas such as convex optimization, algebraic geometric methods, combinatorial optimization, Monte-Carlo techniques (rare-event simulation), symbolic and numerical decision procedures.