I am primarily interested in Software Engineering research with a focus on improving software reliability and security. In particular, I devise novel program analysis techniques to analyze existing code properties and apply advanced machine learning models to learn from those properties. Such models help me building tools that automate program development, bug detection, and program repair for real-world large scale software.

Details of my research can be found here. Here is my current cv and research statement.

Research Projects




  • December, 2017 : "DeepTest: Automated Testing of Deep-Neural-Network-driven Autonomous Cars" got accepted in ICSE, 2018.
  • September, 2017 : ErrDoc got best paper award in FSE, 2017.
  • June, 2017 : ErrDoc got accepted in FSE, 2017.
  • May, 2017  : Distinguished paper award, MSR 2017.
  • July, 2016  : Attended Microsoft Faculty Summit.
  • July, 2016  : "APEx: Automated Inference of Error Specifications for C APIs" got accepted to ASE 2016.
  • May, 2016  : "Automatically Detecting Error Handling Bugs using Error Specifications" got accepted to Usenix Security 2016.
  • December, 2015  : "On the Naturalness of Buggy Code" got accepted to ICSE 2016.
  • October, 2015  : Attended NL+SE, an interdisciplinary workshop between NLP and Software Engineering, at Redmond, WA.
  • Joined the Department of Computer Science at University of Virginia as an assistant professor from Fall 2015.