Previously he worked as a postdoctoral researcher at Microsoft Research Cambridge, Max Planck Institute for Software Systems (MPI-SWS) and Laboratoire PPS. He obtained a Ph.D. from University of Cambridge and a B.Sc. in Computer Science and in Mathematics from Korea Advanced Institute of Science and Technology (KAIST). He also received a bronze medal in the 35th International Mathematical Olympiad (IMO) in 1994. His research interests are in software verification, interactive theorem proving, probabilistic programming and Beyesian inference.