Portrait of Rishabh Singh

Rishabh Singh



Personal page: https://rishabhmit.bitbucket.io/

I am a researcher in the newly-formed Cognition group at Microsoft Research, where we work on developing new deep learning architectures for learning programs and program analysis. I develop program synthesis techniques for helping end-users, students, and programmers. Apart from research, I enjoy playing bridge and I’m honored to have been selected for the Indian junior national bridge team.

I am currently deeply interested and excited about developing neural architectures for program representations and using them for program synthesis, repair, and security.


Neural Program Synthesis

Established: June 15, 2016

We’re working on developing new neural architectures to automatically learn from specifications such as input-output (I/O) examples. This is useful in automating the development of computer programs that map to a user’s intent—what we call “program synthesis.” The act of programming computing devices is a complex task. Computer scientists have been attempting to solve the problem of program synthesis to automatically create a computer program that is consistent with a given user’s intent. Program synthesis is a…

Logan: Logfile Analysis

Established: October 12, 2015

Understanding Techniques and Tools for More Effective Telemetry and Log Data Analysis. Increasingly, business processes require data-driven real-time feedback based on large quantities of log data and customer telemetry from multiple sources. The Logan Project takes a broad approach to understanding the specific needs of consumers of telemetry and log data, focusing on giving them better support for extracting the data they need, cleaning it, and creating queries against it. To understand…

Code Hunt Community

Established: July 17, 2015

Code Hunt is a serious educational game. The Code Hunt community is interested in all aspects of research and development around the game, including analysis of the data and development of the platform. Join the Community Get updates. Tell us what you are doing. Sign up here. Announcing CHESE 2016 The 2nd Int’l Code Hunt Workshop on Educational Software Engineering (CHESE 2016) will be held in Seattle, WA, on November 18 in conjunction with FSE…

Code Hunt

Established: February 4, 2015

Code Hunt is a serious gaming platform for coding contests and practicing programming skills. It is based on the symbolic white box execution engine, Pex. Code Hunt is unique as an online coding platform in that each puzzle is presented with test cases only, no specification. Players have to first work out the pattern and then code the answer. Code Hunt has been used by over 350,000 players as of August 2016. Data from the…

Code Hunt Workshops

Established: February 1, 2015

1st Code Hunt Workshop, Redmond February, 15-16, 2015 Slides and Videos Deep Dive into Pex for Code Hunt Nikolai Tillmann [Slides] [Video] Code Hunt Contest Analytics Judith Bishop [Slides] [Video] Model Counting for Test Coverage in Code Hunt  Willem Visser [Slides] [Video] (after Bishop) Hint generation in Code Hunt  Daniel Perelman [Slides] [Video] A system for C programming  Amey Karkare [Slides] [Video] Semantic Clustering of Student Solutions at Scale Rishabh Singh [Video] (after Karkare) Automatic…





Syntax-Guided Synthesis
Rajeev Alur, Rastislav Bodik, Eric Dallal, Dana Fisman, Pranav Garg, Garvit Juniwal, Hadas Kress-Gazit, P. Madhusudan, Milo M.K. Martin, Mukund Raghothaman, Shamwaditya Saha, Sanjit A. Seshia, Rishabh Singh, Armando Solar-Lezama, Emina Torlak, Abhishek Udupa, in Dependable Software Systems Engineering, February 1, 2015, View abstract, View external link










Apr 16

  • BlinkFill to appear at VLDB 2016
  • Quantitative Program Repair (with Loris D’Antoni and Roopsha Samanta) to appear at CAV 2016

Mar 16

  • Serving on the PC of PLDI 2017

Jan 16

  • Probablistic Semantic Transformations in Excel (with Sumit Gulwani) to appear at POPL 2016

Jan 16

  • Serving on the PC of POPL 2017

Dec 15

  • Conversational Programmers: An Industrial Perspective (with Parmit Chilana and Philip Guo) to appear at CHI 2016

Jul 15

  • George M. Sprowls Award for Best Dissertation in CS, MIT



  • 2017 POPL’17 PC, PLDI’17 PC, ISEC’17 PC
  • 2016 POPL’16 ERC, ICSE’16 SEIP PC, ISEC’16 PC, CHESE’16 co-chair, FMSD’16 guest editor
  • 2015 ASSESS’15 co-chair, PLOOC’15 co-chair

Amazing Interns


  • Jeevana Priya Inala, MIT
  • Hila Peleg, Technion
  • Ke Wang, UC Davis


  • Dana Drachsler, Technion
  • John Feser, Rice University
  • Thorsten Tarrach, IST Austria
  • Xinyu Wang, UT Austin


My research aims to democratize programming for end-users and students. Towards this goal, I develop systems using program synthesis techniques to make programming more accessible to end-users, students, and even programmers. Some research projects that I am actively working on include:

Data Wrangling for End-Users

These systems help data scientists and end-users perform data wrangling (cleaning, transformation, and integration) tasks easily using input-output examples, without writing complex programs/scripts.


Semi-supervised learning of data transformations from both input-output examples and the input data. 1000x faster than FlashFill and learns richer transforamtions!


Semantic Data Type (Date, Name, Phone Numbers, Address etc.) Transformation in Excel. Probabilistic Learning to handle noisy and inconsistent data.


Help end-users perform string manipulation tasks in Microsoft Excel using input-output examples.

  • Publications [CAV12], [VLDB12], [CACM12], [CAV15]
  • Press [MIT News], [CNET], [CNN Money], [Wired], [More]
  • Demo Video1, Video2, Video3, Try it out in Excel 2013!

Program Synthesis for Education


Help beginner programmers with automated feedback about the common errors in their code.

Storyboard Programming

Help programmers write data-structure manipulations using box-and-arrows diagrams of input-output state configurations.



  • George M. Sprowls Award for best PhD thesis in Computer Science, MIT


  • Microsoft Research PhD Fellowship , Microsoft Research


  • CACM Research Highlight Paper for FlashFill, CACM


  • William A. Martin Memorial Thesis Award for outstanding Master’s thesis in Computer Science, MIT


  • Institute Silver Medal for best academic performance in the Department of Computer Science and Engineering, IIT Kharagpur


  • Bigyan Sinha Memorial Prize for securing 2nd position in the Institute, IIT Kharagpur


  • Prime Minister’s guest at Repulic Day Parade, Rajpath New Delhi, for securing 1st position in AISSCE CBSE 2004