DeepCoder to write its own code
A University of Cambridge and Microsoft Research team claims to be on a direct path to building systems that can write computer programs. Based on artificial intelligence, their “DeepCoder” is a machine learning system with the ability to write its own code. The paper DeepCoder: Learning to write programs was written by Matej Balog, University of Cambridge, and Alexander Gaunt, Marc Brockschmidt, Sebastian Nowozin, and Daniel Tarlow from Microsoft Research
A University of Cambridge and Microsoft Research team claims to be on a direct path to building systems that can write computer programs. Based on artificial intelligence, their “DeepCoder” is a machine learning system with the ability to write its own code. The paper DeepCoder: Learning to write programs was written by Matej Balog, University of Cambridge, and Alexander Gaunt, Marc Brockschmidt, Sebastian Nowozin, and Daniel Tarlow from Microsoft Research.
DeepCoder is said to employ program synthesis, i.e. creating new programs by piecing together lines of code taken from existing software – just like a programmer might do given a steady supply of pizzas and beer. By contrast, given no more than a list of inputs and outputs for each code fragment, DeepCoder is claimed to learn which pieces of code were needed to achieve the desired result overall.
The authors said that in their work, they are proposing two main ideas:
In good Cambridge fashion, practical use of the new AI contraption is “limited at this time” so don’t stop coding just now.
DeepCoder is said to employ program synthesis, i.e. creating new programs by piecing together lines of code taken from existing software – just like a programmer might do given a steady supply of pizzas and beer. By contrast, given no more than a list of inputs and outputs for each code fragment, DeepCoder is claimed to learn which pieces of code were needed to achieve the desired result overall.
The authors said that in their work, they are proposing two main ideas:
- learn to induce programs; that is, use a corpus of program induction problems to learn strategies that generalize across problems;
- integrate neural network architectures with search-based techniques rather than replace them.
In good Cambridge fashion, practical use of the new AI contraption is “limited at this time” so don’t stop coding just now.