UROP Openings

Have a UROP opening you would like to submit?

Please fill out the form.

Submit your UROP opening

UROPs Needed To Run Programs Backwards!


Term:

Spring

Department:

6: Electrical Engineering and Computer Science

Faculty Supervisor:

Armando Solar Lezama

Faculty email:

asolar@csail.mit.edu

Apply by:

ASAP

Contact:

zenna@mit.edu

Project Description

We are developing exciting algorithms to run complicated programs backwards, literally. The goal is straightforward: to take a program (e.g. a rendering function which maps geometry to images), and construct an inverse program (e.g. which maps images to geometry). Executing a program backwards is non-trivial, so we apply a combination of semantic program analysis and machine learning to help. We have a number of possible projects for a UROP: (i) To invert bigger and more complex programs As we've indicated, one application we're particularly interested in is vision as the inverse of 3D rendering. (ii) To extend the kinds of programs we can invert (e.g. to imperative or recursive programs; dynamical systems) (iii) To invert random variables for Bayesian inference (iv) To analyze the static and dynamic behavior of the forward function with machine learning to assist with its inversion The greater your skill set and interests overlap with the following set, the stronger we urge you to get in touch: {program analysis, (deep) machine learning, probabilistic inference, computer graphics, planning, reinforcement learning, constraint solving}

Pre-requisites

Solid programming ability required, in any of Python, Julia and C++ Knowledge of program analysis, probabilistic inference, machine learning, and related are a bonus