Before joining CU-Boulder, he was a postdoctoral researcher at the Institute of Science and Technology (IST) Austria. He earned a DEA diploma at Ecole normale superieure in Paris, France, in 2003, and a PhD in Computer Science at the University of Pennsylvania in 2009. His research interests center on program synthesis and formal methods. He is a member of the CU Programming Languages and Verification (CUPLV) group.