Ever wondered if there is any technology which can write code by itself without human intervention? Well, now it can be possible with the new thing which hit tech world, SketchAdapt. So what is SketchAdapt and how it works? Let us take a dig on what is the driving idea behind SketchAdapt and how it can change the scenario in the upcoming era.
SketchAdapt is a new program-writing AI (Artificial Intelligence). SketchAdapt is trained on tens of thousands of program examples and it learns how to compose short, high-level programs, and let’s second set of algorithms find the right sub-program to fill the details. The thing that makes it apart from other automated-program writing approaches is that SketchAdapt can switch between statistical pattern-matching and less-efficient, more versatile, symbolic reasoning mode to fill the gaps.
SketchAdapt is a collaboration between Solar-Lezama, a professor at MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL) and Josh Tenenbaum, a professor at CSAIL and MIT’s Centre for Brains, Minds, and Machines. “Neural nets are pretty good at getting the structure right, but not the detail,” says Armando Solar-Lezama. Solar-Lezama’s early work on Sketch was on the idea that the program’s low-level details can be mechanically found if the high-level structure is provided. Sketch inspired spinoffs to automatically code programming homework and converting hand-drawn diagrams into code. As the neural network became popular, a student from Tenenbaum’s computation cognitive science lab suggested collaboration which became the foundation of SketchAdapt formed.
SketchAdapt relies on deep learning to define program structures. When neural networks are not sure of where to place the code, SketchAdapt is programmed such that it leaves a blank spot for the search algorithm to fill. Maxwell Nye, a graduate student in MIT’s Department of Brain and Cognitive Sciences and also the study’s lead author says “The system decides for itself what it knows and doesn’t know.” He also added “When it gets stuck, and has no familiar patterns to draw on, it leaves placeholders in the code. It then uses a guess-and-check strategy to fill the holes.” The performance of SketchAdapt when compared with Microsoft’s proprietary RobustFill and DeepCoder, the successor to Excel’s FlashFill feature, outperformed both RobustFill and Deepcoder at their respective tasks. SketchAdapt surpassed the performance of RobustFill-like program at string transformation. SketchAdapt also outperformed DeepCoder-like program at writing program to transform a list of numbers. Also, SketchAdapt outperformed both the program at conversation math problems from English to code and calculating the answer.
“SketchAdapt learns how much pattern recognition is needed to write familiar parts of the program, and how much symbolic reasoning is needed to fill in details which may involve new or complicated concepts,” says Rishabh Singh, former graduate student of Solar-Lezama’s, now a researcher at Google Brain. He also added the key to SketchAdapt’s success is the ability to switch from neural pattern-matching to a rules-based symbolic search. SketchAdapt is limited to writing very short programs; anything more requires too much computation. It is more intended programmers rather than replace them.
Study’s other co-author is Luke Hewitt. The funding for the research is provided by U.S Air Force of Scientific research, MIT-IBM Watson AI Lab and U.S. National Science Foundation.