ETH-Professor bringt Computern das Programmieren bei

Lernender Assistent

Künftige Assistenzprogramme für Entwickler sollen ähnlich funktionieren wie die Vervollständigungsfunktionen, die uns heute helfen, auf dem Smartphone Textnachrichten zu verfassen: Ein Software-Entwickler schreibt dann beispielsweise die ersten hundert Zeilen Code, sein Assistenzprogramm analysiert diese und vergleicht sie mit bestehendem Code in Datenbanken. Darauf basierend macht der Computer Vorschläge für die Fortsetzung, die der Entwickler annehmen oder ablehnen kann. Auch solche Rückmeldungen nutzt der Computer, um die Absicht des Programmierers zu verstehen und um die Vorschläge ständig zu verbessern.
Kern dieser Assistenzprogramme sind sogenannte Wahrscheinlichkeitsmodelle. Sie werden aus einer grossen Menge verfügbarer Programme und Programmfragmente aufgebaut. Das Assistenzprogramm nutzt die Modelle, um dem Nutzer die wahrscheinlichsten Fortsetzungen anzuzeigen. Vechev und sein Team sind daran, ständig bessere Wahrscheinlichkeitsmodelle zu entwickeln. Kürzlich hat seine Gruppe eines entwickelt – genannt PHOG –, das als das derzeit präziseste Modell gilt, um Code auszuwerten. Das Modell funktioniert nicht nur mit Programmiersprachen, sondern auch mit natürlicher Sprache. Ausserdem liefert es im Gegensatz zu anderen Modellen nicht nur Antworten, sondern macht die Wahl dieser Antworten für die Nutzer auch nachvollziehbar. «Jedermann kann das PHOG-Modell nutzen, um darauf aufbauend Assistenzprogramme zu entwickeln », sagt Vechev.



Das könnte Sie auch interessieren