I am a research manager at Microsoft Developer Division, part of the Data & AI group. I lead a team of researchers and software engineers developing models and algorithms that understand and generate code, helping to improve developer productivity and automate various software engineering tasks – like code completion, program sketch generation, and merge conflict resolution. My research field is on the intersection of natural language processing, machine learning and program analysis.
As a group, we aim to build efficient tools for developers, promote security in machine learning models of source code, introduce knowledge of program semantics, and programming language grammars in AI for code. The two major questions that really drive my research these days are:
- How to develop AI that understands source code, while keeping it scalable, sufficiently fast, and memory-efficient for product deployment?
- How to make machine learning models of source code more secure and user privacy preserving?
Prior to Microsoft, I have been at Princeton University part of the Machine Learning for Fusion Energy Sciences group focusing on neural approaches to disruption forecasting in tokamak fusion plasmas and scalable research computing.