We've all seen the uncanny, not-quite-there art produced by new AIs. Why Matt Reynolds reports on an area computers might be expected to excel at creatively: programming themselves. And this one's doing it the same way humans do, by stealing and remixing.
DeepCoder uses a technique called program synthesis: creating new programs by piecing together lines of code taken from existing software – just like a programmer might. Given a list of inputs and outputs for each code fragment, DeepCoder learned which pieces of code were needed to achieve the desired result overall.
"It could allow non-coders to simply describe an idea for a program and let the system build it"
One advantage of letting an AI loose in this way is that it can search more thoroughly and widely than a human coder, so could piece together source code in a way humans may not have thought of. What's more, DeepCoder uses machine learning to scour databases of source code and sort the fragments according to its view of their probable usefulness.
DeepCoder, make me a point-and-click adventure game featuring Rosicrucians, billionaire perverts and the complete dissolving of all culture by internet-mediated telepathy.