Scroll Top

Microsoft’s AI has learnt how to write it’s own code and create its own programs

WHY THIS MATTERS IN BRIEF

An AI that can code and build new computer programs from scratch could change the world, give rise to a whole new generation of entrepreneurs. And put a lot of people out of jobs…

 

For many of us the digital world’s an alien place. Lift up the hood and go and have a look at the code running it and it’s like staring at a screen straight out of the Matrix. As a consequence there are those people who can code, and those that can’t. People who live and breathe in this new world, and self-professed hackers like Gates and Zuckerberg who rule it, and those of us who just dabble at the edges blindly poking the apps on their smartphones like cats playing with balls of yarn.

 

RELATED
A ball of brain cells on a chip just learned maths and speech recognition

 

As a result, today, as the world’s companies race to build out their new digital empires the demand for programmers has never been higher. But, unfortunately, just as the kings and queens of the new digital universe are getting used to their new exalted status on the world stage there’s a new programmer in town, and it’s packing – an artificial intelligence (AI) system called DeepCoder that’s learnt how to write its own code and write new software programs from scratch. It looks like AI wasn’t happy enough beating other AI’s into submission, building more AI’s, designing new trainers, diagnosing diseasedreaming, making up new secret languages, or slaughtering gamers online – it evidently has far too much time on its hands so hey, why not take up a hobby?

Created by the researchers at Microsoft and the University of Cambridge, the DeepCoder uses a technique called “Program Synthesis” to cut up code from existing software and repurpose it to create new programs – just like a human programmer might. Give DeepCoder some instructions, or inputs and outputs as they’re known, and it’ll learn which pieces of code it needs to use and where to generate the desired result.

“Ultimately,” says Marc Brockschmidt, one of DeepCoder’s Microsoft creators who’s based out of Cambridge in the UK, “the approach could allow non-coders to simply describe an idea for a program and the system will build it.”

“All of a sudden people could be so much more productive,” says Armando Solar-Lezama at MIT, who wasn’t involved in the work, “they could build systems that it would be impossible to build before.”

 

RELATED
Velodyne's new miniature LiDAR means many more autonomous things

 

Asides from having an AI that can build new programs another big advantage is that it can search more thoroughly and widely for code, scouring databases and source code sites like Github and StackOverflow for interesting and useful code fragments, magnitudes faster than even the best $180,000 a year human coder can, and it could piece together source code in a way humans may not have thought of. Can’t figure out how to add authentication to Flask? Boom. Want to shut down sendmail? Done. All before you can blink.

All this makes the system much faster than its human predecessors. At the moment DeepCoder can trial thousands of different code combinations and create working programs, albeit the fact that most of them at the moment are only five lines long – which in many cases is still enough to create a working program – in fractions of a second. And because it learns which combinations of source code work and which ones don’t as it goes along, it improves every time it sees a new problem.

The use cases for the new system are almost limitless, for example, as far back as 2015 researchers at MIT created a program that automatically fixed software bugs by replacing faulty lines of code with working lines from other programs.

Brockschmidt says that future versions of DeepCoder could make it very easy to build routine programs that scrape information from websites, or automatically categorise Facebook photos, for example, without human coders, or non-coders, having to lift a finger.

 

RELATED
Featured Futurist: Stuff Magazine, The Virtual Sporting Life

 

“The potential for automation that this kind of technology offers could really signify an enormous reduction in the amount of effort it takes to develop code,” he says. But he doesn’t think these systems will put programmers out of a job, at least not yet. With program synthesis automating some of the most tedious parts of programming, he says, for now coders will be able to devote their time to more sophisticated work.

“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, and over time we can see a way for a system like DeepCoder to automate the entire stack.”

Related Posts

Comments (8)

But can it help Matthew Griffin fix his possessive usage of “it’s”?

Thanks Mike – the AI did it! Haha!

The AI wrote the title of this article where “it’s” was incorrectly used?

Apparently, but I think I’m with you – I think my grammar’s great… 😉

[…] be capable of recursive self-improvement, something that we’re already, admittedly tentatively, seeing signs of, and take even more control of the smart technology and connected devices in the world – possibly […]

Look up genetic programming

Leave a comment

EXPLORE MORE!

1000's of articles about the exponential future, 1000's of pages of insights, 1000's of videos, and 100's of exponential technologies: Get The Email from 311, your no-nonsense briefing on all the biggest stories in exponential technology and science.

You have Successfully Subscribed!

Pin It on Pinterest

Share This