About

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.

Projects

Publications

Videos

Other

News

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

Service

Panels

  • 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

2016 

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

2015

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

Research

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.

BlinkFill

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

SemFill

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

FlashFill

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

AutoGrader

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.

Awards

2015

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

2012-2014

  • Microsoft Research PhD Fellowship , Microsoft Research

2012

  • CACM Research Highlight Paper for FlashFill, CACM

2010

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

2008

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

2008

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

2005

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