Technische Innovation

Die nächste Revolution: Computer lernen zu programmieren

Sabine Berger Autorin, Hemd & Hoodie

Computer, die selbst Software schreiben? Maschinelles Lernen wird diesen Durchbruch schon bald ermöglichen, glaubt ein Schweizer Wissenschaftler.

Von der Krebsvorsorge bis zur Partnersuche: Es gibt viele Dinge, die Computer inzwischen besser oder zumindest effizienter können als wir Menschen. Doch ein Gebiet blieb den intelligenten Maschinen bislang verschlossen: ihre eigene DNS. Nach wie vor wird Software Codezeile für Codezeile von Entwicklern und IT-Spezialisten erstellt. Entsprechend muss auch jeder Fehler von Hand gesucht und behoben werden.

Martin Vechev von der ETH Zürich ist überzeugt, dass das auch einfacher geht. Dem Schweizer Informatikprofessor zufolge sollen Computer schon in wenigen Jahren in der Lage sein, Software vollständig selbst zu programmieren. Möglich sein wird dies durch maschinelles Lernen und sogenannten Big Code – riesige Internetdatenbanken mit frei zugänglichem Quelltext.

Assistenten fürs Grobe

Künftige Assistenzsoftware soll ähnlich funktionieren wie die automatische Vervollständigungsfunktion, die beispielsweise von Suchmaschinen her bekannt ist. Der Programmierer gibt die ersten hundert Zeilen Code ein, und das Assistenzprogramm ergänzt den Rest. Dafür nutzt es spezielle Wahrscheinlichkeitsmodelle wie PHOG, das von Vechevs Team entwickelt wurde. Anhand des Modells vergleicht das Programm ein erstelltes Codefragment mit bestehender Software in Open-Source-Datenbanken und macht darauf basierend Vorschläge für die Fortsetzung.

Durch Computer lassen sich solch unvorstellbar große Datenmengen wesentlich schneller auswerten und nutzbar machen. Bereits heute existieren Hilfsprogramme, die Entwicklern Routineaufgaben abnehmen oder Programmierfehler aufdecken. Vom ETH-Professor und seinem Team stammen beispielsweise JS Nice oder APK Deguard, die Nutzern helfen, ihren Code zu überprüfen.

Besser als der Mensch

„Langfristig möchten wir Software entwickeln, die auch intellektuell schwierige Herausforderungen beim Programmieren besser lösen kann als ein Mensch“, sagt Vechev. Mit dem ETH-Spinoff Deepcode, das er im vergangenen Jahr zusammen mit einem Kollegen gründete, will er weitere Softwareassistenten entwickeln. Geplant sind auch Programme, die Fehler im Code eigenständig finden und beheben. Dadurch wären Bugs passé – Software würde schon ab dem Erstrelease zuverlässig und sicher laufen.

Und wann kommen die ersten komplett computergeschriebenen Anwendungen? „In zehn Jahren wird die Automatisierung so weit fortgeschritten sein, dass Computer autonom kurze Programme schreiben können“, glaubt Vechev. Angesichts der rasanten Tempos, in dem sich künstliche Intelligenz entwickelt, klingt seine Prognose durchaus realistisch.

Artikel empfehlen

Zugehörige Themen

Technische Innovation

Als Nächstes lesen