Microsoft Research and University of Cambridge scientists have developed a new machine learning system called DeepCoder. This AI platform uses program synthesis to write new code by borrowing lines from existing software.
One day, the system could be advanced enough to piece together strings of code and write new programs independently with just a description of what the programmer wants.
Technology such as DeepCoder takes us one step closer to large-scale automation. That and other breakthrough advancements could soon hit the mainstream and change our lives for good.
How does DeepCoder write its own code?
Microsoft’s AI uses a technique dubbed program synthesis to write proprietary programs. It means the system searches through code databases looking for existing lines that fit the task at hand.
Someone could request the platform to write the code for a specific function, launch the system, and have it done in just a moment. DeepCoder discards all other alternatives it tried before reaching the ideal one.
Whereas a programmer could take days or weeks writing a new program, DeepCoder takes just seconds. Similar systems created in the past also took significantly less time than humans, but the joint project is on a new level entirely.
The platform not only sorts through hundreds of databases at once but also learns which strings of code work best for which task. With every try, DeepCoder gets better and faster at coding.
DeepCoder change job requirements for programmers
“ALL OF THE SUDDEN PEOPLE COULD BE SO MUCH MORE PRODUCTIVE. THEY COULD BUILD SYSTEMS THAT WOULD BE IMPOSSIBLE TO BUILD BEFORE,” said MIT researcher Armando Solar-Lezama.
DeepCoder is a groundbreaking tool for developers looking to create, but it could become a little too efficient in the future. The principle behind program synthesis works on a small scale for now, but it could soon expand and substitute blue collar programmers.
Artificial intelligence is growing smarter and more far-reaching with every day that passes. Deeper neural networks could lead to a faster, automated world, in which workers would end up free to take care of issues that are inherently human.
In the meantime, DeepCoder is learning how to be the ultimate programmer. The system can only figure out solutions for small fragments of large programs, but it will eventually learn how to write complex software.
Source: New Scientist