Microsoft Research en de University of Cambridge werken aan DeepCoder. Dit machinelearningsysteem is in staat stukken code van andere programma's te selecteren en deze te combineren om er eigen programma's van te maken.
DeepCoder is bedoeld om problemen op te lossen zoals die bij Competitive Programming worden gesteld, schrijven de onderzoekers. Ze doen dit door een neuraal netwerk te trainen om de eigenschappen van bepaalde programmadelen te voorspellen. Het gaat dan om code die zorgt voor de output op basis van de input. Vervolgens past DeepCoder program synthesis toe, volgens New Scientist. Het systeem neemt op basis van de voorspelling van de werking, de delen van de code om deze samen te voegen en er nieuwe programma's van te maken.
In de toekomst kan een systeem als DeepCoder ervoor zorgen dat mensen die niet bekend zijn met ontwikkelen, simpelweg een idee voor een programma voorstellen, waarna het systeem dit programmeert, zegt Marc Brockschmidt, van Microsoft Research in Cambridge. Het voordeel ten opzichte van menselijke programmeurs die op deze manier te werk gaan, zou zijn dat DeepCoder veel grondiger en breder kan zoeken naar bruikbare code.
Er zijn al vergelijkbare systemen ontwikkeld, maar de manier waarop de onderzoekers machine learning inzetten zou DeepCoder sneller en bovendien steeds beter maken. Overigens is de werking nu nog zeer beperkt: het systeem kan programmeervraagstukken oplossen die ongeveer vijf regels code omvatten.