Microsoft investigates system that learns to develop programs

Spread the love

Microsoft Research and the University of Cambridge are working on DeepCoder. This machine learning system is able to select pieces of code from other programs and combine them to create its own programs.

DeepCoder is intended to solve problems such as those posed in Competitive Programming, the researchers write. They do this by training a neural network to predict the properties of certain parts of the program. This is code that provides the output based on the input. Next, DeepCoder applies program synthesis, according to New Scientist. Based on the prediction of the operation, the system takes the parts of the code to put them together and create new programs from them.

In the future, a system like DeepCoder could allow people unfamiliar with development to simply propose an idea for a program, and then the system would program it, says Marc Brockschmidt, of Microsoft Research in Cambridge. The advantage over human programmers who work in this way would be that DeepCoder can search much more thoroughly and broadly for useful code.

Similar systems have already been developed, but the way the researchers deploy machine learning would make DeepCoder faster and better. Incidentally, the operation is still very limited: the system can solve programming problems that comprise about five lines of code.

CambridgeHumanLearningMachineMicrosoftOperationPropertiesResearchersTrainingUniversity