Of all jobs artificial intelligence will soon have the capacity to help with, perhaps the most appreciated – from a developers perspective at least – will be writing code.
While many automated code writing systems have been developed in recent years, the majority have ran into walls when it came to versatility, and were limited in their pattern matching approach to writing.
According to a team at MIT’s Computer Science and Artificial Intelligence Laboratory, their new program named SketchAdapt offers a solution to automated program writing – capable of writing high level programs.
The system utilises 2 algorithms, which allow it to act more proficiently and write. The primary algorithm is a neural network in charge of high level structure, having been trained on tens of thousands of different program examples. The second algorithm will then find sub programs to fill in the blanks. If it is unsure of what code to place where, it will flag the area and leave it for search algorithms to complete.
An important aspect of this system is its deep learning capabilities – which allow it to define the structuring of a program without human input. It can figure out what it does and doesn’t know as it works.
Rishabh Singh told MIT News that one advantage SketchAdapt has over its competitors is it’s ability to learn and think about the problem: “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.”
Using software based off of Microsoft’s DeepCoder and RobustFill – which compliment each other and are similar in operation to SketchAdapt – the team noticed that SketchAdapt was able to outperform both programs at their respective tasks. According to the team this comes down to the softwares ability to learn and adapt to new scenarios to best implement its knowledge.