MIT EECS Undergraduate Research and Innovation Scholar
Sketch Synthesis of Algorithmic Choices
Martin C. Rinard
The Sketch synthesis system supports the automated generation of code from an incomplete program. In a high level overview, the Sketch compiler transforms a program into a boolean-satisfiability problem. This SuperUROP project will augment the current Sketch system to synthesize a large number of correct implementations from an incomplete code. Each version can be run to find the best performing one. This has many applications in generating code for highly complicated systems and networks that has performance requirements. Writing code for a large system is a daunting task and proves to be very time consuming. This project can potentially automate some of that process.
I had an internship at Check Point where I wrote scripts to download and analyze malware. However, the number of malware to download and analyze was so large that the code had to be optimized to be practical.I got the experience to apply Map Reduce as well as other code optimizations. I haven’t had much experience in compilers but I’m excited to learn and tackle on a new project.