Zum Hauptinhalt Zur Navigation

Bayou: KI erstellt selbstständig Java-Programmteile

API-Aufrufe oder Fehlerbehandlung: Bayou ist ein maschinelles Lernsystem, das eigenständig Java -Programmteile erstellen kann. Die Forscher des Projekts sehen es als eine bessere Code-Vervollständigung, die später auch Nicht-Programmierern den Einstieg erleichtern soll.
/ Oliver Nickel
48 Kommentare News folgen (öffnet im neuen Fenster)
Ein KI-System hilft bei der Programmierung. (Bild: Pixabay.com)
Ein KI-System hilft bei der Programmierung. Bild: Pixabay.com

Forscher der Rice University in Texas entwickeln einen Editor, der Codezeilen mithilfe von Machine Learning vervollständigt. Das Projekt Bayou versteht die Syntax und Logik der verbreiteten Programmiersprache Java. Mit Hilfe dieses Systems sollen Sofwareentwickler schneller Programme schreiben können, da eine Vorlage nach den Wünschen der Entwickler automatisch genereriert wird. Das System basiert auf dem Algorithmus Neural Sketch Learning(öffnet im neuen Fenster) - ebenfalls ein Projekt der Rice University. Eine funktionierende Version(öffnet im neuen Fenster) gibt es auf einer Webseite.

Im Gegensatz zu herkömmlicher Automatisierung, die es bereits seit langem in integrierten Entwicklungsumgebungen (IDEs) wie Eclipse oder Visual Studio gibt, versteht Bayou den Zusammenhang von verschiedenen Codeelementen. Der Aufruf einer Methode mit verschiedenen Parametern veranlasst das System so beispielsweise, die dafür benötigten Objekte und Variablen zu erstellen, wenn sie noch nicht vorhanden sind. Variablen werden auch mit passenden Datentypen versehen und Fehlerbehandlung mit Try-Catch-Statements ist ebenfalls möglich. Das Modell wird dabei mit realen Codebeispielen verschiedener Entwickler angelernt.

Anfängern soll Programmieren zugänglicher gemacht werden

Einer der Co-Autoren der wissenschaftlichen Arbeit, Vijayaraghavan Murali, sagte zum Projekt: "Ich sehe Bayou als eine intelligentere Version herkömmlicher Code-Vervollständigung, die von IDEs unterstützt wird." Momentan sind die Möglichkeiten des Algorithmus noch begrenzt. So können etwa nur Programmbibliotheken aus den Paketen java.lang, java.io und java.util automatisch generiert und von der Software genutzt werden.

Die Vision des Systems steht für die Entwickler fest: "Mit weiteren Fortschritten bei dieser Technologie, etwa eine bald von Bayou unterstützte Schnittstelle auf der Grundlage natürlicher Sprache, stellen wir uns zugängliches Programmieren vor, selbst für Nicht-Programmierer."


Relevante Themen