Program Synthesis for the Masses

New computing platforms have greatly increased the demand for programmers, but learning to program remains a big challenge. Program synthesis has the potential to revolutionize programming by making it more accessible. My work has focused on two goals: making programming more intuitive through the use of new interfaces, and using automated feedback to help students learn programming. In this talk, I will present my work on two systems that work towards these goals: Autograder and FlashFill. The Autograder system provides automated feedback to students on introductory programming assignments, and was successfully piloted on thousands of programming exercises from edX. The FlashFill system helps end-users perform repetitive data transformations over strings, numbers, and tables using input-output examples. A part of FlashFill was shipped as part of Excel 2013 and was quoted as one of the top features by many press reviews. I will describe how ideas from advances in constraint-solving, machine learning, and formal verification enabled the new forms of interaction required by these systems.

Speaker Details

Rishabh Singh is a PhD candidate in the Computer Science and Artificial Intelligence Laboratory at MIT. His research interests are broadly in formal methods and programming languages. His PhD work focuses on developing program synthesis techniques for making programming accessible to end-users and students. He is a Microsoft Research PhD fellow and winner of MIT’s William A. Martin Outstanding Master’s thesis Award. He obtained his BTech in Computer Science and Engineering from IIT Kharagpur in 2008, where he was awarded the Institute Silver Medal and Bigyan Sinha Memorial Award. He was also awarded to be Prime Minister’s National Guest at Republic Day Parade, New Delhi in 2005.

Date:
Speakers:
Rishabh Singh
Affiliation:
MIT
    • Portrait of Jeff Running

      Jeff Running

    • Portrait of Rishabh Singh

      Rishabh Singh

      Researcher