Ein Team aus Forschern der University of Cambridge und Microsoft beschäftigt sich mit Systemen, die autonom programmieren können. Basierend auf KI haben Sie einen „DeepCoder“ konstruiert, eine lernfähige Maschine mit der Fähigkeit, Computerprogramme zu schreiben. Der Artikel „DeepCoder: Learning to write programs“ stammt von Matej Balog, University of Cambridge, und Alexander Gaunt, Marc Brockschmidt, Sebastian Nowozin sowie Daniel Tarlow von Microsoft Research.

DeepCoder soll zur Programmsynthese in der Lage sein. Das System soll also autonom neue Programme generieren, indem Code-Schnipsel existierender Software kombiniert werden – ganz wie ein menschlicher Programmierer vorgehen würde, dabei aber statt Strom eine Menge Pizza und Bier konsumiert. Mit nicht mehr als vorgegebenen Eingaben und Ergebnissen kann DeepCoder selbständig herausfinden, welche Code-Partikel zu den gewünschten Resultaten führen.

Die Autoren geben an, dass sie zwei Haupt-Prinzipien verwendet hätten:
  1. Programm-Induktion: Aus gegebenen Software-Induktionsproblemen werden generalisierte Strategien abgeleitet.
  2. Neurale Netzwerke: Mit Integration von Such-Techniken statt Ersetzungsmethoden.
Die Programme wurden von einfachen Aufgaben inspiriert, wie sie bei realen Programmierwettbewerben auftreten. Beabsichtigt ist, die eindrucksvolle Leistungsfähigkeit von DSL, Domain Spezifisch Language zu demonstrieren. Die Autoren stellen außerdem Ausschnitt von beispielhaften DSL-Programmen mit Ein/Ausgangs-Beispielen und Beschreibungen zur Verfügung.

In guter alter Cambridge-Tradition meinten die Autoren zum praktischen Nutzen ihres KI-Apparats: „Momentan noch begrenzt“. Also lasst uns weiter programmieren...