I currently lead a research & engineering group at Microsoft that develops programming-by-example technologies for data wrangling. These technologies power various features in several Microsoft products. If you are excited about doing research in the cross-disciplinary area of program synthesis, productizing that research, and be part of a team of incredible researchers and engineers, please ping me.
I am also interested in building intelligent tutoring systems (which support activities such as automated problem generation and feedback generation) for various K-14 subject domains including math, programming, and language learning. I mentor several undergraduate and graduate students. If you are looking for disruptive project ideas related to intelligent tutoring systems or automating end-user programming (and are excited about the potential to positively impacting lives of billions of people on the planet!), please send me email.
I obtained my Phd in Computer Science from UC-Berkeley in 2005, and my undergraduate degree in Computer Science and Engineering from IIT Kanpur in 2000.
ACM SIGPLAN Robin Milner Young Researcher Award, 2014
Sumit Gulwani has made pioneering contributions to the field of programming languages, especially in the areas of program analysis and program synthesis. Building on his foundational work in program analysis including using randomized algorithms, improving abstract interpretation, and reasoning about programs as continuous functions, Dr. Gulwani recognized the important connection between program verification and program synthesis. His research has demonstrated that imprecise human intent, in the form of examples, natural language, and other kinds of input, can be transformed into incomplete program specifications, which together with ranking techniques can then be used to synthesize intended programs, empowering users to accomplish complex and repetitive programming tasks without needing any knowledge of programming. His contributions include algorithms for synthesizing string transformation programs by examples, published in POPL 2011, and the technical basis for “Flash Fill”, a new feature shipping in Microsoft’s Excel 2013. He has since then extended this line of algorithmic work to synthesizing programs in several other important domains and also broadly advertised this line of work by publishing in top-tier ACM conferences in various other areas including AI, machine learning, HCI, databases, and knowledge discovery. He has also championed the application of program synthesis techniques to developing intelligent tutoring systems for numerous subject domains including introductory programming, mathematics, logic, and automata theory. The visionary aspects of his work were recently recognized by the CACM Editorial Board when two of his recent papers appeared as CACM Research Highlights in the same issue, and a summary of his work on computer-aided Education was accepted to appear as a CACM article.
In summary, Dr. Gulwani is a highly motivated, creative, and inter-disciplinary researcher whose vision is to empower computer users around the world to be more productive and educated. His insights in using program synthesis to address problems in end-user programming and education will have deep and lasting influence.