Our artificial intelligence systems are continuing to get smarter, with scientists demonstrating that a system called DeepCoder is now clever enough to borrow bits of code from other programs to solve basic problems.
But the team behind the tool don't want to put human programmers out of a job – they want to make it easier for people to build programs without any coding knowledge.
DeepCoder is a project run by Microsoft and the University of Cambridge, using deep learning techniques to mimic the neural network of a brain, where vast amounts of data are processed and evaluated to make decisions.
That means AI can think for itself without those choices being hard-wired into the code to begin with, not unlike Google's human-beating Go system.
"All of a sudden people could be so much more productive," MIT's Armando Solar-Lezama, who wasn't involved in the work, told New Scientist. "They could build systems that it [would be] impossible to build before."
Given a list of inputs and outputs, DeepCoder can figure out which pieces of code will bring about the desired result, and its developers say the system could potentially enable people to simply describe an idea for a program to create.
Human coders will already be familiar with borrowing bits of other publicly available programs, but a system like DeepCoder can search much faster and think much more quickly that previous AI systems.
It could also combine bits of code in ways that humans haven't even thought of yet.
And rather than running each bit of code through a trial and error process – as earlier versions of the system did – DeepCoder can now predict in advance which fragments are going to be useful and which aren't.
The system is even able to get smarter as it goes, learning from its choices.
That means we could soon be producing programs that spot bugs in software or identify objects in photos much faster – and all without human coders having to lift a finger.
Want a program that moves all your photos from one computer to another, resizing them along the way? One day, you might just have to ask.
We should point out that the technology still needs to be tested by independent researchers, as it's yet to be published in a peer-reviewed journal. But the team is being conservative about its claims regarding its current capabilities, so this looks like the real deal.
For now, DeepCoder can only solve simple programming problems that require around five lines of code, but the researchers are hoping to scale up the system and make it easier to operate for non-coders in the future.
"Generating a really big piece of code in one shot is hard, and potentially unrealistic," says Solar-Lezama. "But really big pieces of code are built by putting together lots of little pieces of code."
A paper on the system is currently under review for presentation at the 2017 International Conference on Learning Representations.