If they are being honest, most developers will tell you that a lot of their work involves repurposing pre-written code that they find on sites like GitHub or StackOverflow. Now a group of researchers have published a paper explaining how they have trained an artificial intelligence (AI) system called DeepCoder to do the same thing.
In computer science circles, teaching a program to write other programs is called inductive program synthesis (IPS), and it’s one of the holy grails of AI research. In the paper, the researchers explain that DeepCoder relies on big data analysis and machine learning techniques. “We argue that machine learning can provide signiﬁcant value towards solving Inductive Program Synthesis (IPS) by re-casting the problem as a big data problem,” they write. “We show that training a neural network on a large number of generated IPS problems to predict cues from the problem description can help a search-based technique. In this work, we focus on predicting an order on the program space and show how to use it to guide search-based techniques that are common in the programming languages community.”
Machines aren’t taking the development jobs yet, but that day may be coming.