Powered by heapspace
Automated Program Generation from Input-Output Examples
Sumit Gulwani
Founder and Leader of the PROSE Research and Engineering Team
September 27th / 16:40 - 17:25
H-Prime|Ninja the Cat|Outer Space

Programming by examples (PBE) is a new frontier in AI that enables users to create code fragments from input-output examples. Some killer applications of PBE are in the areas of data wrangling and robotic process automation to automate tasks such as string/datatype transformations (e.g., converting “FirstName LastName” to “LastName, FirstName”), table extraction from semi-structured documents (like text-files, webpages, spreadsheets, PDFs), and repetitive editing/refactoring for documents/code. Creating usable PBE systems involves developing efficient search algorithms (to search for programs over an underlying domain-specific programming language), and ambiguity resolution techniques (to select an intended program from among the many that satisfy the examples). This presentation will educate the audience about this new PBE-based programming paradigm: its applications, form factors inside different products (like Excel, PowerBI, Visual Studio, Jupyter Notebooks), and the science behind it.


Sumit Gulwani is a computer scientist seeking connections: between ideas, between research & practice, and with people with various roles. He is the inventor of many intent-understanding, programming-by-example, and programming-by-natural-language technologies including the popular Flash Fill feature in Excel used by hundreds of millions of people. He founded and currently leads the PROSE research and engineering team at Microsoft that develops APIs for program synthesis and incorporates them into various products. He has published 120+ peer-reviewed papers in top-tier conferences and journals across multiple computer science areas, delivered 45+ keynotes and invited talks at various forums, and authored 50+ patent applications (granted and pending). He was awarded the ACM SIGPLAN Robin Milner Young Researcher Award in 2014 for his pioneering contributions to end-user programming and intelligent tutoring systems. He obtained his PhD in Computer Science from UC-Berkeley, and was awarded the ACM SIGPLAN Outstanding Doctoral Dissertation Award. He obtained his BTech in Computer Science and Engineering from IIT Kanpur, and was awarded the President’s Gold Medal.