I am primarily interested in Software Engineering research with a focus on empirical studies, program analysis, and software evolution.

Using techniques from diverse domains including machine learning, natural language processing, and rigorous statistical modeling, I analyze large scale software repositories to understand on-going software engineering practices. This data-driven knowledge helps me build novel program analysis techniques and development tools to improve software quality and programmer productivity.
Details of my research can be found here. Here is my current bio.

Research Projects

    Ongoing Projects
  • Source code analysis using Statistical language Model
  • Analyzing Error/Exception handling behavior of source code
  • Large Scale GitHub Analysis




  • 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.